无法匹配所需的电话号码格式


Unable to match the required phone number format

我正在尝试使用 PHP 中的 preg_match 匹配电话号码格式,但我无法取得成功。

我尝试匹配的电话号码格式是:

+92XXXXXXXXXX

前三个字符应为 +92,其余字符的计数应为 10,并且应为 0 到 9 之间的数字。这是我正在尝试但无法匹配的:

preg_match('/^[+92]{3}[0-9]{10}$/',$phone_number) )

有什么建议吗?

谢谢。

您可以尝试使用:

^('+92'd{10})$

^[+92]{3}[0-9]{10}$的问题出在[+92].你正在做的是说匹配+,9,2三次。因此,这包括+++99929929+等情况。

要更正模式,请将[+92]{3}更改为 '+92 。因此,它将是:

^'+92[0-9]{10}$

您的模式有效,机器人不适用于文字+92XXXXXXXXXX - 用数字代替它的工作原理X。但是,如果它始终以 +92 开头,请将模式更改为:

^'+92[0-9]{10}$

https://regex101.com/r/nG6wI1/1