Die*_*ego 1 php regex preg-match
用户应输入国际格式的电话号码,应始终以 + 开头,并且没有任何特殊字符,例如 +3162503277。
我认为这个简单的正则表达式可以做到这一点,但不知何故我一定错过了一些东西,因为它不接受电话号码:
if (!preg_match('/^\+?[0-9]{6}$/i', $phone))
fail("Invalid phone number");
Run Code Online (Sandbox Code Playgroud)
检查数字是否以 + 开头并且仅包含数字的方法应该是什么?
附加?在后面\+使+可选。
[0-9]{6}$仅匹配 6 位数字。要匹配更多数字,您必须使用+isn't 代替{6}。如果您需要 6 位或更多数字,请使用{6,}.
尝试以下操作:
if (!preg_match('/^\+\d+$/', $phone))
fail("Invalid phone number");
Run Code Online (Sandbox Code Playgroud)