console.log(/\d+?\d+?\d+?-\d+?\d+?\d+?-\d+?\d+?\d+?\d+?$/.test("555-555-55539"));
答案 - >真
我正在寻找 false ,我正在验证电话号码。例如555-555-5555是正确答案([0-9])
我是正则表达式的新手,有人能解释我在这里做错了什么吗?
答案 0 :(得分:0)
这个怎么样。
console.log(/\d{3}-\d{3}-\d{4}$/.test("555-555-55539"));

答案 1 :(得分:0)
你在正则表达式中使用了错误的量词。你使它们变得懒惰(+?
),但它仍将匹配所有字符,直到找到正则表达式的下一个字符。如果你的上一个量词(就在$
之前),它将匹配所有数字,直到找到字符串的结尾。因此,它不仅匹配一个数字而且匹配所有数字。在每个连字符(555555555-5555-555555555
对你的正则表达式有效)之前都会发生同样的事情。