为什么这个正则表达式不适用于JavaScript?

为什么这个正则表达式不适用于JavaScript?,javascript,regex,Javascript,Regex,代码应该是匹配的!对于给定的字符串。我尝试了多种方法,但都无法成功 HTML: 如果可以,请使用本机正则表达式语法: var regex = /^\d{3}-\d{2}-\d{4}$/; 从字符串构造正则表达式时,必须将\字符加倍,因为它也是字符串常量标记语法中的元字符。如果没有,那么当JavaScript将正则表达式字符串传递给RegExp构造函数时,反斜杠就消失了 您最好在筛选函数中使用.test(): $("#div") .filter(function() {

代码应该是匹配的!对于给定的字符串。我尝试了多种方法,但都无法成功

HTML:


如果可以,请使用本机正则表达式语法:

var regex = /^\d{3}-\d{2}-\d{4}$/;
从字符串构造正则表达式时,必须将
\
字符加倍,因为它也是字符串常量标记语法中的元字符。如果没有,那么当JavaScript将正则表达式字符串传递给RegExp构造函数时,反斜杠就消失了

您最好在筛选函数中使用
.test()

$("#div")
    .filter(function() {
        return regex.test(this.innerHTML);
    })
    .html("Matched!")
;

如果可以,请使用本机正则表达式语法:

var regex = /^\d{3}-\d{2}-\d{4}$/;
从字符串构造正则表达式时,必须将
\
字符加倍,因为它也是字符串常量标记语法中的元字符。如果没有,那么当JavaScript将正则表达式字符串传递给RegExp构造函数时,反斜杠就消失了

您最好在筛选函数中使用
.test()

$("#div")
    .filter(function() {
        return regex.test(this.innerHTML);
    })
    .html("Matched!")
;

另一点是
$(“#div”)
实际上应该是
$(“#ssn”)
,因为示例中没有id为div的元素。@Diego yes;我以为那只是一个抄写错误。哇,谢谢你,很有魅力!我可以知道.test()和.match()的区别吗?谢谢。@photonacl
.test()
只返回一个布尔值(“是否匹配?”)。另一点是,
$(“#div”)
实际上应该是
$(“#ssn”)
,因为示例中没有id为div的元素。@Diego yes;我以为那只是一个抄写错误。哇,谢谢你,很有魅力!我可以知道.test()和.match()的区别吗?谢谢。@photonacl
.test()
只返回一个布尔值(“它是否匹配?”)。您的
具有id“ssn”,但您的jQuery选择器显示
“#div”
…您的
具有id“ssn”,但您的jQuery选择器显示
“#div”
。。。