我正在浏览互联网,为电话号码找到一个正确的javascript正则表达式,但我发现的那些不是我需要的。
我的案件的可接受电话号码类型必须符合以下规则:
+
或0-9
0-9
,-
和空格(最好在数字之间只有1个空格)我到目前为止尝试了这个:/^\+[\-\d\s]/
但我没有得到正确的结果。我试过阅读一些教程,但我对此很新,似乎我错过了一些东西。
例如,可接受的电话号码是:+30 6995 4488551(允许的空格)或0030 6995 4488551等。
任何帮助将不胜感激! :)
答案 0 :(得分:1)
您的正则表达式匹配任何以+
开头,后跟单个-
,数字或空白字符的内容。所以你会匹配例如:
我建议您查看http://www.regular-expressions.info/上的示例和教程。至于你的电话号码,一个更好的正则表达式是:
/^\+?[\d -]+$/
这将匹配所有有效数字,但也包含无效结构,如+---------
或简单+
带尾随空格。如果你真的想要拒绝很多无效的组合,我建议你阅读this,但是你可以看到正则表达式变得混乱。
答案 1 :(得分:1)
添加到migg的答案 - 您可以在正则表达式测试后添加更多过滤器,例如,可以确保表达式中至少有一个最小位数,或者您拥有什么。 如,
if !(phone_number.match(/\d/g).length == 9) inValidate()