【问题标题】:Regex Mobile Number Validation Code Doesn't Work In PHP正则表达式手机号码验证代码在 PHP 中不起作用
【发布时间】:2014-11-13 21:01:26
【问题描述】:
    function PricerrTheme_isValidNumber($number)
{
    return eregi("^(?:01)?01[0-9]\d{8}$", $number);
}

您好,我想添加一个验证码,使用以下区号验证手机号码

0100,0101,0106,0109

然后是 7 位数字,所以看起来像这样

01005555555 或 01015555555

我的代码不起作用,它总是给我验证错误,不管我输入的是正确还是错误的值

【问题讨论】:

  • 第 1 步:转储 ereg。它已过时且已弃用。改用 preg_*() 函数。

标签: php regex validation


【解决方案1】:

这可能会对您有所帮助。

 $phone = "01005555555";

   if(preg_match("/^010[0|1|6|9][0-9]{7}$/", $phone)) {
   echo "valid";
   }
   else { 
   echo "invalid";
   }

【讨论】:

  • 为什么是 '{4}' 除非你的 hpone 号码中有 4 个 arrea 代码...这个和最后一个 '|'会让你放一个空值
  • 应该是“/^010[0169][0-9]{7}$/”
【解决方案2】:

php代码:

$re = "/^010[0169]{1}\\d{7}$/";
$str = "01005555555";

preg_match($re, $str, $matches);

regex live demo

更简单的 php:

 function PricerrTheme_isValidNumber($number)
{
    return  preg_match("/^010[0169]{1}\\d{7}$/", $number);
}

html:

<input type="text" pattern="^010[0169]{1}\d{7}$" />

【讨论】:

    猜你喜欢
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多