jQuery if字符串包含链接返回链接值

jQuery if字符串包含链接返回链接值,jquery,href,Jquery,Href,使用regex检查字符串是否有链接 <p>Random text <a href="/landing.html">click here</a></p> <p>Another paragraph without href</p> 但是,console.log返回错误 未捕获类型错误:str.find不是函数 检查 预先以上代码的问题是您正在使用.html()方法,因为html返回的是html部分而不是dom对象。您需要使用d

使用regex检查字符串是否有链接

<p>Random text <a href="/landing.html">click here</a></p>
<p>Another paragraph without href</p>
但是,console.log返回错误

未捕获类型错误:str.find不是函数

检查
预先

以上代码的问题是您正在使用
.html()
方法,因为
html
返回的是html部分而不是dom对象。您需要使用dom选择器对象来查找定位点。更新你的代码到下面

var str = $('p');
console.log(str)
if(new RegExp("([a-zA-Z0-9]+://)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\.[A-Za-z]{2,4})(:[0-9]+)?(/.*)?").test(str.html())) {
    console.log(str);
    var href = str.find("a").attr("href");
  console.log(href)
}
检查小提琴

更改
var href=str.find(“a”).attr(“href”)
对于
var href=$('p').find(“a”).attr(“href”)

出现此错误是因为您试图调用“string”中的“find”方法,而该方法没有该方法

var str=$('p').html();
如果(新的RegExp(([a-zA-Z0-9]+:/)?([a-zA-Z0-9+:[a-zA-Z0-9+])([a-zA-Z0-9.-]+\.[a-zA-z]{2,4})(:[0-9]+)(/。)测试(str)){
console.log(str);
var href=$('p').find(“a”).attr(“href”);
}

随机文本


没有href的另一段

非常感谢,阿甘。很有魅力
var str = $('p');
console.log(str)
if(new RegExp("([a-zA-Z0-9]+://)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\.[A-Za-z]{2,4})(:[0-9]+)?(/.*)?").test(str.html())) {
    console.log(str);
    var href = str.find("a").attr("href");
  console.log(href)
}