我有以下要求.有一个电话号码字段.
我可以使用php编写正则表达式来验证上述内容吗?
有效输入示例:231_901 347无效输入示例:_123 567,345__123
如果可能的话,请你写下preg_match表达式.
这是我试过的代码:
$subject = "_012_345 69";
$pattern = '/[\d]{1}.[\d\s_]{5,10}.[\d]{1}$/';
$matches = preg_match($pattern, $subject);
echo($matches);
Run Code Online (Sandbox Code Playgroud)
它应返回0但返回1.
^(?=.{8,10}$)\d+(?:[ _]\d+)*$
Run Code Online (Sandbox Code Playgroud)
说明:
^ # Start of string
(?=.{8,10}$) # Assert length 8-10
\d+ # One or more digits
(?: # followed by
[ _] # one space or underscore
\d+ # one or more digits
)* # zero or more times.
$ # End of string
Run Code Online (Sandbox Code Playgroud)