沃梦达 / 编程问答 / php问题 / 正文

用于验证10位手机号码的PHP preg_Match

PHP preg_match for validating 10 digit mobile number(用于验证10位手机号码的PHP preg_Match)

本文介绍了用于验证10位手机号码的PHP preg_Match的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用PHP函数preg_match验证10位手机号码。以下代码未生成任何输出。

是正则表达式错误吗?或者我用错了。

我预期输出中会有Hi True。如果匹配,则Hi False;如果不匹配,则Hi False

<?php
$value = '9987199871';
$mobileregex = "/^[1-9][0-9]{10}$/" ;  
echo "Hi " . preg_match($mobileregex, $value) === 1; // @debug
?>

正则表达式取自https://stackoverflow.com/a/7649835/4050261

推荐答案

您声明的正则表达式将匹配11个数字,而不是10个。由于所有印度手机号码都以9、8、7或6开头,我们可以使用以下正则表达式:

^[6-9][0-9]{9}$

以下是您更新的代码片段:

$value = '9987199871';
$mobileregex = "/^[6-9][0-9]{9}$/" ;  
echo "Hi " . preg_match($mobileregex, $value) === 1;

请注意,就验证而言,上述正则表达式可能仍远未达到最佳效果,但这至少是一个开始。

这篇关于用于验证10位手机号码的PHP preg_Match的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:用于验证10位手机号码的PHP preg_Match