美文网首页
PHP 匹配电话,手机,400号码 函数 及正则。很管用。

PHP 匹配电话,手机,400号码 函数 及正则。很管用。

作者: 梅先森森森森森森 | 来源:发表于2020-08-29 14:24 被阅读0次

PHP 匹配电话格式是否正确,自己写的。

1,如果是电话,那么区号和电话之间必须有横杠,并且必须有区号

2,如果是手机,可以支持手机前带上“+86”、“86”、“86-”、“+86-”前缀

3,电话只能匹配中国大陆的。02开头共三位,01开头的只允许010北京的号

4,支持电话分机号码,020-89571800-1,020-89571800-125。

5,400电话支持

<?php
 
function isTel($tel,$type='')
{
  $regxArr = array(
  'sj'  =>  '/^(\+?86-?)?(18|15|13)[0-9]{9}$/',
  'tel' =>  '/^(010|02\d{1}|0[3-9]\d{2})-\d{7,9}(-\d+)?$/',
  '400' =>  '/^400(-\d{3,4}){2}$/',
  );
  if($type && isset($regxArr[$type]))
  {
    return preg_match($regxArr[$type], $tel) ? true:false;
  }
  foreach($regxArr as $regx)
  {
    if(preg_match($regx, $tel ))
    {
      return true;
    }
  }
  return false;
}
 
$tm1 = microtime(true);
$arr = array(
'15910241024',
'+861591900 0000',
'86159 1930 9100',
'+86-15312001200',
'18655321002',
 
'02089571800',
'020-89571800',
'0755-102410240',
'0553-10241024',
'010-1204120140',
'010-120412014',
'110-89571800',
'022-102410240',
'0222-102410241',
 
'400-020-9800',
'400-0588-010',
'400-0211-0112',
);
foreach ($arr as $tel)
{
    echo "\n{$tel}:\t".(isTel($tel) ? "是":"错误");
}
echo sprintf("\n\ntaken %.6f s",microtime(true)-$tm1);

测试结果:

X-Powered-By: PHP/5.2.0
Content-type: text/html
 
 
15910241024:    是
+861591900 0000:    错误
86159 1930 9100:    错误
+86-15312001200:    是
18655321002:    是
02089571800:    错误
020-89571800:   是
0755-102410240: 是
0553-10241024:  是
010-1204120140: 错误
010-120412014:  是
110-89571800:   错误
022-102410240:  是
0222-102410241: 错误
400-020-9800:   是
400-0588-010:   是
400-0211-0112:  是
 
taken 0.002274 s

相关文章

  • PHP 匹配电话,手机,400号码 函数 及正则。很管用。

    PHP 匹配电话格式是否正确,自己写的。 1,如果是电话,那么区号和电话之间必须有横杠,并且必须有区号 2,如果是...

  • php常用的正则匹配

    php常用的正则匹配 匹配手机号码 匹配邮箱 电话号码匹配 } 匹配url 匹配身份证号 匹配邮编 匹配ip 匹配...

  • 各种电话正则

    400电话的正则/^400[0-9]{7}/ 800电话正则/^800[0-9]{7}/ 手机号码正则^1[345...

  • 前端开发之JS(正则)

    js正则表达式 电话号码的匹配 /13566668888/.test(value) 完全匹配 /^13566668...

  • 正则匹配库

    正则匹配用户名: 正则匹配用户名: 正则匹配手机号或者固定电话: 匹配中文: 正则匹配用户密码: 正则匹配电子邮箱...

  • 用正则表达式匹配电话号码

    在hive中,使用正则表达式来筛选电话号码,电话号码不像手机号一样,电话比较难匹配,需要考虑的情况也比较多,所以在...

  • 常用正则

    电话正则 手机号 座机号- 400

  • php学习笔记(四)

    正则表达式 PHP中使用PCRE库函数进行正则匹配,比如上例中的preg_match用于执行一个正则匹配,常用来判...

  • 常用正则表达式

    1.匹配电话号码(手机号,座机等) 0.0-5.0正则表达式 匹配字符串中是否有特殊字符 4.中文

  • PHP手机号码正则表达式

    php用正则表达式判断手机号码的写法:从文章中匹配出所有的手机号就可以##preg_match_all(),如果要...

网友评论

      本文标题:PHP 匹配电话,手机,400号码 函数 及正则。很管用。

      本文链接:https://www.haomeiwen.com/subject/rtxjsktx.html