带特殊字符的电话号码的正则表达式

时间:2019-04-20 10:37:44

标签: php regex regular-language

我需要电话号码的正则表达式。电话号码可能包含特殊字符,例如# models.py class Worker(models.Model): address = models.CharField(max_length=400) user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True ) class Employer(models.Model): address = models.CharField(max_length=400) user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True )

一些示例:

+, ., /, -, space, (, ), [, ]

特殊字符可以存在于代码中的任何位置。左括号应有一个右括号。

我已经创建了此模式,但是它不起作用:

(+91) 9864081806
(+91)9864081806
(+91)(98640)81806
+91.98640.81806
[+91]09864081806
+91.986.408.1806
+91-986-408-1806
Maximum numbers = 15

1 个答案:

答案 0 :(得分:0)

尝试一下:

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

您有一个演示here