JavaScript中的电话正则表达式

时间:2011-08-29 04:24:02

标签: javascript regex

以下是电话号码的所有有效格式(注意可以有前导和尾随空格):

  • 555-444-3333
  • (555) - (444) - (3333)
  • 5554443333
  • 5554443333
  • 5554443333
  • 555 444 3333
  • 555 4443333
  • 555444 3333
  • (5554443333)
  • (555-444-3333)

如何在.NET中使用Regex或Javascript进行验证?

2 个答案:

答案 0 :(得分:5)

我不会直接使用正则表达式。我会将每个字符复制到一个新字符串,同时跳过parantheses,连字符和空格。然后检查结果字符串是否有十个字符,所有字符都是数字。

我不知道.Net正则表达式,但^ [0-9] * $是大多数正则表达式库将验证字符串是否完全为数字的方式。

或者,您可以使用标准库isdigit()函数在扫描时逐个检查字符。

答案 1 :(得分:1)

试试这个

function isPhoneNumber(x) { 
    return /^[0-9\-\(\)\s]*$/.test(x) && x.replace(/[^0-9]/g,'').length == 10; 
}

我同意一些评论者的担忧,但它确实符合您的要求。

如果字符串包含除数字,连字符,parens或空格之外的其他内容,则测试的前半部分将失败。如果字符串中的位数不是10,则测试的后半部分将失败。

相关问题