具有特殊字符的 phone 数字的正则表达式

Regular expression for phone number with special characters

我需要 phone 个数字的正则表达式。 phone 数字可能包含特殊字符,例如 +, ., /, -, 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('/^[\[\([=12=]-9\s.\_\-\+\/\)\]]{3,15}$/', $phone_no)

试试这个:

^(?=(?:[^\d\n]*\d){1,15}[])]?$)(?:[+]?\d++|[(][+]?\d++[)]|[[][+]?\d++[]])(?:[ .-]?+(?:\d\d++|[(]\d\d++[)]|[[]\d\d++[]]))*+$

您有一个演示 here