Javascript Regex验证所有电话号码

Javascript Regex验证所有电话号码,javascript,Javascript,我需要构建一个正则表达式来验证包含+()的所有类型的电话号码- 多亏了谷歌和堆栈溢出,我得到了一个正则表达式 /^[+]*[(]{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+$/ 而且效果很好 现在我需要限制用

我需要构建一个正则表达式来验证
包含+()的所有类型的电话号码-

多亏了谷歌和堆栈溢出,我得到了一个正则表达式

/^[+]*[(]{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;
有谁能帮助我通过改进单个正则表达式来解决上述问题吗


提前感谢

用于匹配
--
使用正则表达式
/(\.\.+\124;\-->)/g


我相信下面的正则表达式将满足您的所有要求

正则表达式:
^\+?(\([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

如果需要,您可以修改此表达式以适应您的要求。

您限制用户不能给出超过3个连续数字的方式,您可以对连字符和圆点这样做,对吗?想想看。我没有给您否决票。请尝试此链接@WasiAhmad。用户可以有空格、句点和连字符,但不能连续。他连续进站numbers@NitinKumar谢谢你的链接。让我看看并试试out@ManikandanSekar我可以理解,空格、句点和连字符的位置也是固定的。您只需确保用户被限制连续放置多个连字符或点,这与您对数字所做的相同。感谢您的快速操作回复。正如我在帖子中提到的,我需要使用同一个正则表达式验证多个字段,所以我删除了g标志。我会试试这个