最新手机号正则表达式 java 、javascript版正则表达式验证是否为11位有效手机号码
最近在做注册登陆页面,都要涉及到验证11位有效手机号码,这里贴出代码,希望能帮到有这个开发需求的朋友。
function isPoneAvailable($poneInput) { var myreg=/^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test($poneInput.val())) { return false; } else { return true; } }
这里我直接封装在一个方法中,需要用的时候传入一个input的jq对象即可。当然,您也可以直接传入字符串,如:
function isPoneAvailable(str) { var myreg=/^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test(str)) { return false; } else { return true; } }
这里的重点是这个正则表达式:
var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
这个表达式的意思是:
1--以1为开头;
2--第二位可为3,4,5,7,8,中的任意一位;
3--最后以0-9的9个整数结尾。
本来只容13,15,17,18,开头的手机号,但是测试mm说有14开头的号码,所以添加了14;当然,如果以后要是发展成有16,或者19,之类的开头号码的话,在
[3,4,5,7,8]
中添加即可。
// 判断是否为手机号 isPoneAvailable: function (pone) { var myreg = /^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test(pone)) { return false; } else { return true; } }, // 判断是否为电话号码 isTelAvailable: function (tel) { var myreg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/; if (!myreg.test(tel)) { return false; } else { return true; } },
最新、最全、最准确的手机号正则表达式
更新到2018年5月,支持最新的166号段
/** * Java 使用 */ String PHONE_NUMBER_REG = "^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$";
/** * JS 使用 */ "18016381232".match(/^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/)