【发布时间】:2016-11-04 07:01:18
【问题描述】:
我需要构建一个正则表达式来验证includes + ( ) . - 的所有类型的电话号码
感谢谷歌和堆栈溢出,我得到了一个正则表达式
/^[+]*[(]{0,1}[0-9]{1,3}[)]{0,1}[-\s\./0-9]*$/g
验证所有电话号码。
但在验证+(123 456-7890 时,上述正则表达式无法按预期工作。
所以我将上面的正则表达式修改为
/^\+?([(]{1}[0-9]{1,3}[)]{1}|[0-9]{1,3})([-\s0-9]*|[.\s0-9]*)\d+$/
而且效果很好。
现在我需要限制用户输入连续的-和dots(.)
所以我手动验证了
if(HomePhone.indexOf("..") > -1 && HomePhone.indexOf("--") > -1)
return false;
谁能帮助我通过改进它使用单个正则表达式解决上述问题..?
提前致谢
【问题讨论】:
-
您限制用户不提供超过 3 个连续数字的方式,您可以对连字符和点执行此操作,对吗?想想吧。
-
我没有给你投反对票。试试这个链接stackoverflow.com/questions/22378736/…
-
@WasiAhmad 用户可以有空格、句号和连字符,但不能连续。他可以输入连续的数字
-
@NitinKumar 感谢您的链接。让我看看并尝试一下
-
@ManikandanSekar 我可以理解,空格、句号和连字符的位置也是固定的。您只需要确保用户被限制连续放置多个连字符或点,这与您对数字所做的相同。
标签: javascript