用于电话验证的JavaScript正则表达式

时间:2012-08-19 15:36:39

标签: javascript regex validation phone-number

我需要帮助一行正则表达式来验证电话号码,它是这样的: tel:/^(?:(?:\+?1\s*(?:[\.\-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[\.\-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[\.\-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/

这些是它验证的格式:

  

555 5555
   1-555-555-5555
   1.555.555.5555
   15555555555 extension 555
   15555555555分机555
   15555555555#555
   15555555555 x。 555

我想验证数字:

  

+263 772 485 384
  773456284个
  0773456284

主要是国际号码

1 个答案:

答案 0 :(得分:0)

首先,拆分那一大块正则表达式。您可能希望使用语言的verbose选项(如果有)。我把大部分分给你了:

Telephone Numbers (should be 'orred'):
  \+?\d{3}(?:\ \d{3,4})+
  \d[-.]\d{3}[-.]\d{3}[-.]\d{4}
  \d{9,11}

Extensions (should be 'anded' with the previous regexes)
  (\ ext(?:\.|ension)(?:\ \#)?\ \d{3,4})?