这个问题在这里已有答案:
我需要一个正则表达式的电话号码。电话号码可能包含+, ., /, -, space, (, ), [, ]
等特殊字符。
一些例子:
(+91) 9864081806
(+91)9864081806
(+91)(98640)81806
+91.98640.81806
[+91]09864081806
+91.986.408.1806
+91-986-408-1806
Maximum numbers = 15
特殊字符可以存在于代码中的任何位置。开口支架应该是关闭的。
我已创建此模式但它不起作用:
preg_match('/^[\[\(\0-9\s.\_\-\+\/\)\]]{3,15}$/', $phone_no)
试试这个:
^(?=(?:[^\d\n]*\d){1,15}[])]?$)(?:[+]?\d++|[(][+]?\d++[)]|[[][+]?\d++[]])(?:[ .-]?+(?:\d\d++|[(]\d\d++[)]|[[]\d\d++[]]))*+$
你有一个演示here。