PHP手机验证

时间:2017-04-09 07:43:21

标签: php validation preg-match phone-number

我的注册表有问题,我想验证9位数的移动设备。

代码:

$tel = $_POST['tel'];
$sdt_length = strlen($tel);
$sdt_check = substr($tel, 0, 2);
elseif (!preg_match("/^[0-9]*$/i", $tel))
elseif ( ($sdt_check == '09' && $sdt_length == 10) || ($sdt_check == '01' && $sdt_length == 11) ) {

1 个答案:

答案 0 :(得分:0)

手机格式因地区而异。 我将假设您完全了解您正在处理的电话格式,并且不会使用任何类型的符号进行发布。

您需要一个9位数字符串或10或11位数字符串,具体取决于前两位数字:0901,请使用:

^(?:09\d{8}|01\d{9}|\d{9})$

请参阅Demo

上述模式将根据前两位数检查仅数字字符串和长度。

PHP实施:

if(isset($_POST['tel']) && preg_match("/^(?:09\d{8}|01\d{9}|\d{9})$/",$_POST['tel'])){
    $tel=$_POST['tel'];
}else{
    echo "Missing or Invalid Telephone Number";
}