PHP - 自定义电话号码格式的正则表达式



我需要使用以下规则验证电话号码

  • 必须以以下 ISD 代码 +352、+91、+33、+49、+32 开头(字符串必须以 + 开头(
  • ISD代码后面必须只有0-9的数字(不能有空格,符号或字符(
  • 必须最少 8 个字符,最多 15 个字符

我很难构建正确的正则表达式,到目前为止我只有preg_match('/^+d+$/', $value),这绝对不起作用。感谢这里的任何帮助。

谢谢。

必须至少为 8 个字符,最多 15 个字符

我假设这是总数。

模式:

^+(?=d{8,15}$)(?:32|33|49|91|352)d+$

^               // start of line
+              // a plus
(?=d{8,15}$)   // look ahead and assert 8 to 15 digits must match
(?:             // grouped alternation (uncaptured)
32|33|49|91|352 // alternations
)               // end of group
d+             // 1 or more digits
$               // end of line
  • 旗帜: g, m
  • 步数:30

演示

您可以使用正则表达式来完成

^+(?:(?:91)|(?:49)|(?:3(?:52)|3|2))d{8,15}

您的正则表达式应如下所示:

^+(352|91|33|49|32)(d{8,15})$

此页面 https://regex101.com/对于验证和描述正则表达式非常有帮助。

最新更新