PHP中的手机号码验证模式

新手上路,请多包涵

我无法在 PHP 中编写 10 位手机号码(格式为 1234567890)的确切模式。电子邮件验证正在工作。

这是代码:

 function validate_email($email)
{
return eregi("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]    {2,6}$", $email);
}

function validate_mobile($mobile)
{
  return eregi("/^[0-9]*$/", $mobile);
}

原文由 sanzuu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 460
2 个回答

手机号码验证

您可以 preg_match() 验证10位手机号码:

 preg_match('/^[0-9]{10}+$/', $mobile)

在函数中调用它:

 function validate_mobile($mobile)
{
    return preg_match('/^[0-9]{10}+$/', $mobile);
}

电子邮件验证

您可以使用 filter_var()FILTER_VALIDATE_EMAIL 来验证电子邮件:

 $email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $emailErr = "Invalid email format";
}

在函数中调用它:

 function validate_email($email)
{
    return filter_var($email, FILTER_VALIDATE_EMAIL);
}

但是, filter_var 将在成功时返回过滤值,而 false 在失败时返回。

更多信息请访问 http://www.w3schools.com/php/php_form_url_email.asp

或者,您也可以使用 preg_match() 用于电子邮件,模式如下:

 preg_match('/^[A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z.]{2,4}$/', $email)

原文由 Panda 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于印度:印度 的所有手机号码都以 9、8、7 或 6 开头,这些号码基于 GSM、WCDMA 和 LTE 技术。

 function validate_mobile($mobile)
{
    return preg_match('/^[6-9]\d{9}$/', $mobile);
}

if(validate_mobile(6428232817)){
    echo "Yes";
}else{
    echo "No";
}

// 输出是 Yes

原文由 Nanhe Kumar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题