我正在尝试使用正则表达式来查找变量是否包含输入字段。
我的变量中的html可能是这样的。
<span>test here</span>
或
<span><input type="text"></span>
我的代码就像
//$(this) is be my variable
if($(this).html().match("/<input type='text'>/")){
console.log('match found')
}
似乎无法找到匹配项。任何人都可以帮我吗?非常感谢!
答案 0 :(得分:3)
怎么样
if ($(this).find('input[type="text"]').length) {
console.log('match found');
}
如果this
是HTML文本字符串(如图所示),您仍然可以使用相同的代码,例如
$('<span>test here</span>').find('input').length // equals 0
$('<span><input tyep="text"></span>').find('input').length // equals 1
答案 1 :(得分:1)
我不确定你要做什么,但我相信这会得到与上述$(this).find('input[type="text"]')
相同的结果
如果您正在寻找正则表达式/input\s+[^>]*type\s*=\s*['"]text['"]/
应该这样做。
答案 2 :(得分:0)
如果您正在使用输入标记的正则表达式,则可能是基本表达式:
<input .*type=['"]text['"].*/>
这将匹配任何输入标签与type =“text”(双引号或单引号)及其间的任何属性。
如果输入元素已经在页面上,我建议使用jQuery:
if($('input[type=text]').length > 0){
console.log('match found');
}
请注意输入元素不需要结束标记
<input type="text"></input>
,而是<input type="text" />