[英]Validate phone number in php
我正在做一个电话号码验证器,所有电话号码应以168
开头,然后是9位数字123456789
总的来说,电话号码只能包含12位数字。
我已经试过了
$phoneNumber = '168921500789';
if( preg_match( "/^\168[0-9]{9}$/", $phoneNumber ) ){
echo "Valid number";
} else {
echo "Invalid number";
}
运行脚本时,该数字无效。如何使脚本仅使用必须以168开头的12位数字?
您的RegEx错误,在1
之前有一个无用的反斜杠。 正确:
/^168[0-9]{9}$/
完整代码:
$phoneNumber = '168921500789';
if( preg_match( "/^168[0-9]{9}$/", $phoneNumber ) ){
echo "Valid number";
} else {
echo "Invalid number";
}
您必须删除1个斜杠:
$phoneNumber = '168921500789';
if( preg_match( "/^168[0-9]{9}$/", $phoneNumber ) ){
echo "Valid number";
} else {
echo "Invalid number";
}
我们这样使用,并引用此链接
public function validatePhoneNumber($number){
$formats = array(
'###-###-####', '####-###-###',
'(###) ###-###','####-####-####',
'##-###-####-####','####-####','###-###-###',
'#####-###-###', '##########', '#########',
'# ### #####', '#-### #####'
);
$format = trim(preg_replace('/[0-9]/', '#', $number));
return (in_array($format, $formats)) ? true : false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.