我需要构建一个正则表达式来验证includes + ( ) . -
感谢Google和堆栈溢出,我得到了一个正则表达式
/^[+]*[(]{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+$/
它工作正常。
现在我需要限制用户输入连续的-
和点(.)
所以我手动验证
if(HomePhone.indexOf("..") > -1 && HomePhone.indexOf("--") > -1)
return false;
任何人都可以通过改进来帮助我使用单个正则表达式解决上述问题吗?
先谢谢
答案 0 :(得分:0)
用于匹配..
和--
使用正则表达式/(\.\.+|\--+)/g
答案 1 :(得分:0)
我相信以下正则表达式将满足您的所有要求。
正则表达式:^\+?(\([0-9]{3}\)|[0-9]{3})(-. )?[0-9]{3}(-. )?[0-9]{4}$
此正则表达式应接受以下内容:
(123) 456-7890
+(123) 456-7890
+(123)-456-7890
123-456-7890
123.456.7890
1234567890
+3163636363
075-6354672
如果需要,您可以修改此表达式以适应您的要求。