首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Javascript中获取字符串的href

如何在Javascript中获取字符串的href
EN

Stack Overflow用户
提问于 2016-10-17 17:53:51
回答 4查看 2.2K关注 0票数 0

我正在使用的第三方工具构建了一个像这样的锚标记。

代码语言:javascript
复制
"<a href="http://DevNode/Lists/Publications.aspx#/publication/123">http://DevNode/Lists/Publications.aspx#/publication/123</a>"

我需要隔离href这样我就可以修剪它了。目前我的模式

代码语言:javascript
复制
reg = /^(<a\shref=")? http:\/\/DevNode\/Lists\/Publications.aspx#\/publication\/(\d+)/i {lastIndex: 0} 

如果href有这样的前导空间,将无法匹配。

代码语言:javascript
复制
"<a href=" http://DevNode/Lists/Publications.aspx#/publication/123"> http://DevNode/Lists/Publications.aspx#/publication/123</a>"

请帮帮忙

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-10-17 18:01:23

您可能需要使用*量词,该量词表示“任意次数(包括零)”组合到\s,它将匹配空格、换行符或其他。

因此,在需要一个空格但可能有多个空格的地方,请使用\s+

使用\s*,在其中一个空格是可选的,但可能有一些

代码语言:javascript
复制
reg = /^(<a\s+href=")?\s*http:\/\/DevNode\/Lists\/Publications.aspx#\/publication\/(\d+)/i
票数 1
EN

Stack Overflow用户

发布于 2016-10-17 17:57:22

如果您是在浏览器上这样做,最简单的方法是让浏览器解决这个问题:

代码语言:javascript
复制
var div = document.createElement("div");
div.innerHTML = yourString;
var href = div.querySelector("a").href;

如果它是一个相对URL,这也具有解析它的优点。如果您不想这样做,请使用getAttribute

代码语言:javascript
复制
var href = div.querySelector("a").getAttribute("href");

请注意,如果使用getAttribute,如果属性有前导空间,则结果中将显示前导空间;如果您想要去掉它,String#trim可能很有用。

票数 5
EN

Stack Overflow用户

发布于 2016-10-17 18:17:09

保持简单:

代码语言:javascript
复制
var ahref = '<a href="http://DevNode/Lists/Publications.aspx#/publication/123">http://DevNode/Lists/Publications.aspx#/publication/123</a>';
var href = ahref.split('"')[1];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40092721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档