文章来源https://www.cnblogs.com/hello-tl/p/7592333.html
/**
* 移动:134、135、136、137、138、139、150、151、152、157、158、159、182、183、184、187、188、178(4G)、147(上网卡);
* 联通:130、131、132、155、156、185、186、176(4G)、145(上网卡);
* 电信:133、153、180、181、189 、177(4G);
* 卫星通信:1349;
* 虚拟运营商:170;
* 130、131、132、133、134、135、136、137、138、139
* 145、147
* 150、151、152、153、155、156、157、158、159
* 170、176、177、178
* 180、181、182、183、184、185、186、187、188、189
*/
$ret = false;
//判断是否有值
if($Phone){
$Phone_preg = '#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#';
//判断是否是正确手机号
if(preg_match($Phone_preg,$Phone)){
$ret = true;
}
}
return $ret;
https://www.cnblogs.com/kenshinobiy/p/4424386.html
php用正则表达式判断手机号码的写法:
从文章中匹配出所有的手机号就可以:preg_match_all();
如果要检查用户输入的手机号是否正确可这样来检查:preg_match().
用正则匹配手机号码的时候, 我们先分析一下手机号码的规律:
- 手机号通常是11位的
- 经常是1开头
- 第二个数字通常是34578这几个数字, 2014.5.5日170号段的手机号开卖所以这里多了个7.
$str = "/^1[34578]\d{9}$/";
"^"
符号表示必须是1开头;
"[ ]"的意思是第二个数字必须是中括号中一个数字;
而 \d
则表示0-9任意数字,后跟{9}表示长度是9个数字;
后面的$
表示结尾;
开始和结尾的 /
是正则表达式必须放在这个中间, 有的后面可能还跟模式.从文章中匹配出所有的手机号就可以这样写了:
$str = '老吧博客作者的手机是18912345678';
preg_match_all("/^1[34578]\d{9}$/", $str, $mobiles);
//var_dump($mobiles);
【PHP|PHP正则表达式判断手机号码是否合法】如果要检查用户输入的手机号是否正确可这样来检查:
if(preg_match("/^1[34578]\d{9}$/", $mobile)){
//这里有无限想象
}
推荐阅读
- yii2|yii2下的with使用方法
- 如何快速搭建一个产品帮助中心
- 递归匿名函数手动实现 http_build_query 系统函数
- laravel|关于Laravel 与 Nginx 限流策略防止恶意请求
- 通用印刷体识别|通用印刷体识别 php,实战腾讯云ORC文字识别
- php|php vue rbac,Vue+ThinkPHP5.1 实现基于角色控制权限的前后端分离后台管理系统
- php调优
- Gmail(如何快速将邮件全部已读)
- 小程序|微信小程序转uniapp