我需要帮助一行正则表达式来验证电话号码,它是这样的:
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
主要是国际号码
答案 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})?