最简单的最实用的php手机号码正则表达式,有需要的朋友可参考参考.
移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通:130、131、132、152、155、156、185、186
电信:133、153、180、189、(1349卫通)
手机号规则实例代码如下:
$regex = "/13[0-9]{9}|15[0|1|2|3|5|6|7|8|9]\d{8}|17[0|1|2|3|5|6|7|8|9]\d{8}|18[0|5|6|7|8|9]\d{8}/";
判断手机号码实例代码如下:
function is_mobile($str){ return preg_match("/^(((\d{3}))|(\d{3}-))?13\d{9}$/", $str); }
实例代码如下:
<?php function checkMobile($str) { $pattern = "/^(13|15|17|18)\d{9}$/"; if (preg_match($pattern, $str)) { Return true; } else { Return false; } } //调用函数 $str = checkMobile("15800000001"); if ($str) { echo ("符合手机号码标准"); } else { echo ("不符合手机号码标准"); } ?>
最后完全可以验证目前所有手机号代码
实例代码如下:
preg_match_all($regex,$row['mobile'], $phones); if($phones){ 正确 }
友情提示,现在关于手机判断的,确实不太好做了,因为手机号码变化已经比较大了.可能今天你写了正则,明天就出了新的号码段了,做个手机号码段数组的,判断是否在号码段内数组=array(130,131,132.....)in_array(substr(号码,0,3),数组)
提示:新增180号段和170号段。
本文地址:
转载随意,但请附上文章地址:-)