JS:正则表达式,$ end输入无法使用

时间:2017-08-30 05:33:57

标签: javascript regex

console.log(/\d+?\d+?\d+?-\d+?\d+?\d+?-\d+?\d+?\d+?\d+?$/.test("555-555-55539"));

答案 - >真

我正在寻找 false ,我正在验证电话号码。例如555-555-5555是正确答案([0-9])

我是正则表达式的新手,有人能解释我在这里做错了什么吗?

2 个答案:

答案 0 :(得分:0)

这个怎么样。



console.log(/\d{3}-\d{3}-\d{4}$/.test("555-555-55539"));




答案 1 :(得分:0)

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