繁体   English   中英

验证php中的电话号码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM