代码假设匹配!对于给定的字符串。我尝试了很多东西而无法让它发挥作用。
HTML:
<div id="ssn">123-45-6789</div>
JS:
var regex = new RegExp("^\d{3}-\d{2}-\d{4}$");
$("#div")
.filter(function() {
return this.innerHTML.match(regex);
})
.html("Matched!")
;
答案 0 :(得分:4)
如果可以,请使用本机正则表达式语法:
var regex = /^\d{3}-\d{2}-\d{4}$/;
从字符串构造正则表达式时,必须对\
个字符加倍,因为它也是字符串常量标记语法中的元字符。如果不这样做,那么当JavaScript将正则表达式字符串传递给RegExp构造函数时,反斜杠就会消失。
在过滤器功能中使用.test()
可能会更好:
$("#div")
.filter(function() {
return regex.test(this.innerHTML);
})
.html("Matched!")
;