表单验证 - Javascript删除空间电话号码

时间:2013-10-26 09:00:13

标签: javascript regex

我有下面的脚本检查,以确保电话号码的表单字段包含10个digtis,帐户连字符和()字符。我遇到的问题很多时候人们会把这个电话号码放在这个间隔 - 000 000 0000

调用脚本时会抛出错误消息。我如何使用下面的脚本但允许指定格式的空间000 000 0000而不会抛出错误?

感谢您的帮助!

              function validateTel(telnum) {
              if (telnum.match(/^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$/)) {
              return true;
              } else {
              return false;
              }
              }

2 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式匹配电话号码

^\d{3}[ ]{0,1}\d{3}[ ]{0,1}\d{4}$

在此处查看解释http://regex101.com/r/iG2fV4

<强>示例:

var telRegExp = /^\d{3}[ ]{0,1}\d{3}[ ]{0,1}\d{4}$/;

console.log("1234567890".match(telRegExp))
console.log("123 456 7890".match(telRegExp))
console.log("123 4567890".match(telRegExp))
console.log("123456 7890".match(telRegExp))
console.log("a1234567890".match(telRegExp))

<强>输出

[ '1234567890', index: 0, input: '1234567890' ]
[ '123 456 7890', index: 0, input: '123 456 7890' ]
[ '123 4567890', index: 0, input: '123 4567890' ]
[ '123456 7890', index: 0, input: '123456 7890' ]
null

答案 1 :(得分:0)

如何使用锚点?

/^\d{10}$/

或者可能是这个正则表达式: -

/^\+?\d{2}[- ]?\d{3}[- ]?\d{5}$/

或者可能是这个正则表达式,它将覆盖大多数情况以验证电话号码:

^(?:\+?\d{2}[ -]?\d{3}[ -]?\d{5}|\d{4})$

<强> Regex Demo