本文目录一览:
php使用正则表达式匹配手机号?求助
$g = "/^1[34578]\d{9}$/"; // "^"符号表示必须是1开头; "[ ]"的意思是第二个数字必须是中括号中一个数字; 而 \d 则表示0-9任意数字,后跟{9}表示长度是9个数字; 后面的$表示结尾; 开始和结尾的 / 是正则表达式必须放在这个中间, 有的后面可能还跟模式.
手机号正则表达式精简
精简后:1/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
java手机号码正则表达式: /** * 验证手机号码 * * 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147 * 联通号码段:130、131、132、136、185、186、145 * 电信号码段:133、153、180、189 * * @param cellphone * @return */ public static boolean checkCellphone(String cellphone) { String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$"; return check(cellphone, regex); } /** * 验证固话号码 * * @param telephone * @return */ public static boolean checkTelephone(String telephone) { String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$"; return check(telephone, regex); }
php手机号码正则表达式:?php //正则表达式 $tel = "15558530459";//手机号码 if(strlen($tel) == "11") { //上面部分判断长度是不是11位 $n = preg_match_all("/13[123569]{1}\d{8}|15[1235689]\d{8}|188\d{8}/",$tel,$array); /*接下来的正则表达式("/131,132,133,135,136,139开头随后跟着任意的8为数字 '|'(或者的意思) * 151,152,153,156,158.159开头的跟着任意的8为数字 * 或者是188开头的再跟着任意的8为数字,匹配其中的任意一组就通过了 * /")*/ var_dump($array); //看看是不是找到了,如果找到了,就会输出电话号码的 }else { echo "长度必须是11位"; } /* * 虽然看起来复杂点,清楚理解! * 如果有更好的,可以贴出来,分享快乐! * */ ?
js手机号码正则表达式: function checkMobile(){ var sMobile = document.mobileform.mobile.value if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){ alert("不是完整的11位手机号或者正确的手机号前七位"); document.mobileform.mobile.focus(); return false; } }
PHP提取手机号码的正则表达式 应该怎么写?
$reg = '/[^0-9+]*(?Ptel(\+86[1][368][0-9]{9})|([1][368][0-9]{9}))[^0-9+]*/';
手机的格式:第一位1,第二位能想起来的有3,6,8。(13×,16×,18×)
所以通过判断前面两位就能筛选出手机号码,然后后面再跟随意9位数即可。
如果第二位除了3,6,8还可能是其他的话,在中括号中添加就行
php正则 匹配 手机、座机号码
注:现在有很多座机都是8位了,除区号 的第一位是取值范围是3-9 这是国家规定的,
第二位 分省市、县取值不同。省会城市和大城市的区号三位,第一位选取“3、4、5、6、7、8、9”共七个数字,
第二位选取单数“1、3、5、7、9”共五个数字,第三位随意。
各县城及小城市的区号四位,第一位选取“3、4、5、6、7、8、9”共七个数字,
第二位选取双数“2、4、6、8、0”共五个数字,第三、四位随意。
//$str = "028-8711934"; 大陆7位座机 3位区号
//$str = "0827-87119345"; 大陆8位座机 3位区号
//$str = "0827-87119345"; 大陆8位座机 4位区号
//$str = "00852-87119345"; 香港8位座机
//$str = "00852-8711934"; 香港7位座机
//手机 13、14、15、18 开头的
........
这里就不多列举了。
$mode = "/(^1[3|4|5|8][0-9]{9}$)|(^0[1-9]{2,4}[-][3-9]{1}[0-9]{6,7}$)/";
if(preg_match($mode, $str)){
echo "匹配";
}
else{
echo "不匹配";
}上面那个正则有到问题 取值范围差了一个
下面这个 ok。
$mode = "/(^1[3|4|5|8][0-9]{9}$)|(^0[0-9]{2,4}[-][3-9]{1}[0-9]{6,7}$)/";