如何在PHP中设置电话号码验证 [英] How to set validation on Phone number in PHP

查看:95
本文介绍了如何在PHP中设置电话号码验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码:

我从不设置电话号码验证字段,我尝试"/^([0-9]{3})-[0-9]{3}-[0-9]{4}$/"这种类型的代码进行验证, 我在电话号码字段中输入文字,他们在后端接受

I never set validation for phone number field, I try "/^([0-9]{3})-[0-9]{3}-[0-9]{4}$/" this type of code for validation, I enter text in the phone number field, they accept in backend

我该怎么办?用于电话号码字段的设置验证.

what can I do? for set validation for phone number field.

<!DOCTYPE HTML>  
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<style>
.error {color: #FF0000;} 
</style>
</head>
<body>  

<?php
$nameErr = $phoneErr = "";
$name =  $phone = "";

$error = 0;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field

     $name = htmlspecialchars($_REQUEST['name']);
     $phone = htmlspecialchars($_REQUEST['phone']); 


    if (empty($name)) {
        $nameErr = "* Name is required";
      $error = 1;
        // echo "Name is empty";
    }

    if (empty($phone)) {
        // echo "phone is empty";
        $phoneErr = "* Phone is required";
        $error = 1;
    }

}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <h1>Login Form</h1>
  Name: <input type="text" name="name" onkeydown="return alphaOnly(event);" value="<?php echo $name ?>">
   <span class="error"> <?php echo $nameErr?></span>  
  <br></br>

  Phone: <input type="text" name="phone" value="<?php echo $phone ?>">
    <span class="error"> <?php echo $phoneErr?></span> 
   <br><br>

  <input type="submit"> 

  <br><br>

</form>

</body>
</html>

我需要在PHP中验证电话号码,但是该示例不起作用. 如何设置手机号码验证

I need to validate phone number in PHP, but the example do not work. How can I set validation for mobile number

推荐答案

根据您提供的注释和示例电话号码,此代码将验证您所在国家的数字位数和前两个数字,我只是替换了+0,确保它们不会输入加号.

According to comments and example phone number that you given, this code will validating number of digits and first two numbers of your country, i just replaced + with 0, for sure they won't enter plus.

$tel = '091-9869123456';

if(preg_match("/^[0-9]{3}-[0-9]{10}$/", $tel)) {
    echo "valid";
} else {
    echo "invalid";
}

现在需要更多验证来检查国家/地区代码:

if(substr($tel, 0, 3) == '091'){
    echo "valid";
} else {
    echo "invalid, it should start with 091";
}

或者您也可以使用相同的preg_match来做到这一点:

Or you do this with same preg_match like this:

if(preg_match("/^[091]{3}-[0-9]{10}$/", $tel)) {
    echo "valid";
} else {
    echo "invalid";
}

演示

Demo

这篇关于如何在PHP中设置电话号码验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆