javascript上的电话号码正则表达式

javascript上的电话号码正则表达式,javascript,regex,Javascript,Regex,我试图用下面的正则表达式验证javascript中的电话号码 var phoneExpression = /^\(?([0-9]{9})\)?$/; 这个表达式适用于XXXXXXXX编号,但我需要XXXXXXXX、+xx xxxxxxxxx和+x xxxxxxxxx的正则表达式,我尝试的所有操作都失败了 ^\+?(([0-9]{1})*[- .]*([0-9]{3})*[- .]*[0-9]{3}[- .]*[0-9]{6})+$ 应该匹配您要查找的字符串您想要此字符串: /^(\+\d{1

我试图用下面的正则表达式验证javascript中的电话号码

var phoneExpression = /^\(?([0-9]{9})\)?$/;
这个表达式适用于XXXXXXXX编号,但我需要XXXXXXXX、+xx xxxxxxxxx和+x xxxxxxxxx的正则表达式,我尝试的所有操作都失败了

^\+?(([0-9]{1})*[- .]*([0-9]{3})*[- .]*[0-9]{3}[- .]*[0-9]{6})+$
应该匹配您要查找的字符串

您想要此字符串:

/^(\+\d{1,2}\s)?\d{9}$/
所有这些都是数学:

123456789
+1 123456789
+12 123456789
不符合以下条件:

+12123456789
+12 12345678
…这里有一个注释:

/
    ^             // String start
    (
        \+        // Plus sign
        \d{1,2}   // One or two digits
        \s        // Whitespace
    )?            // The whole prefix group is optional
    \d{9}         // 9 digits
    $             // String end
/g

所以这里的一个相同的问题没有一个单一的答案,所以对你有效?他们怎么不起作用,你的问题有什么不同,等等。
*
是最好的答案。。其他任何事情都是一个很好的方式,可以自找麻烦,驱使(潜在)客户加入到做正确事情的竞争中。否则。。下一步是实施电子邮件验证,对人们的姓名和所有(高中)爵士乐进行假设。您应该做的是:模拟您的服务器端将拒绝的客户端。@GitaarLAB,我相信
/\+?[0-9-\.]+/
是最常见的。@RubenKazumov:确实是这样(我会包括
)。这里的关键点是,人们应该停止考虑验证(“根据程序员口述”什么是有效数字),同时保持有用的部分:“立即”向用户指示(提交前)某些东西肯定会被服务器拒绝:数字不会小于x或大于y,并且只能包含
+-()1-9
字符等@GitaarLAB:我完全同意你和你这方面的观点!我认为,验证应该是,但验证过程应该包括:a)理解输入;b) 纠正输入和c)验证输入。这不是我们向用户传递信息的文本框填充规则。因此,注册任何类型的输入,甚至通过全局数据库前缀、县和在后台发送文本消息来检查数字都没有问题(第二种情况不匹配)。我的否决票。抱歉,编辑了我的回答与9位数以下的数字匹配+xx xxxxxxxx匹配:(@json\u noob更新了我的答案,看一看(添加了
^
$
,并将
\d+
替换为
\d{9}