大家好,又见面了,我是你们的朋友全栈君。
最近在跟一个别人写好上线的项目,今天出了一个bug,部分正常的手机号验证格式不通,查看了代码发现正则表达式有较大的错误,如图:
存在的问题: 1.存在逗号
2.不够全面,部分正常的手机号验证不通过
所以决定自己写,百度一下手机号的格式,下面应该是比较全面,所以就自己根据下面的写验证的正则表达式,如有小伙伴发现下图仍有遗漏请在评论指出,我看到会马上更新
最后写出来的正则表达式:(经网友提示下面正则表达式有缺漏,130,181,180)不能通过
代码语言:javascript复制Pattern p = Pattern.compile("^1(3([1-35-9]\d|4[1-8])|4[14-9]\d|5([0-25689]\d|7[1-79])|66\d|7[2-35-8]\d|8[2-9]\d|9[89]\d)\d{7}$");
Matcher m = p.matcher(mobile);
2020-07-15更新修改后的代码:
代码语言:javascript复制Pattern p = Pattern.compile("^1(3([0-35-9]\d|4[1-8])|4[14-9]\d|5([0125689]\d|7[1-79])|66\d|7[2-35-8]\d|8\d{2}|9[89]\d)\d{7}$");
Matcher m = p.matcher(mobile);
2020-09-24更新,新增191,193,195手机号
经网友提示存在191,195手机号,结合下面新闻
代码语言:javascript复制Pattern p = Pattern.compile("^1(3([0-35-9]\d|4[1-8])|4[14-9]\d|5([0125689]\d|7[1-79])|66\d|7[2-35-8]\d|8\d{2}|9[13589]\d)\d{7}$");
Matcher m = p.matcher(mobile);
2020-11-07更新,经提醒缺少153的手机号码
代码语言:javascript复制Pattern p = Pattern.compile("^1(3([0-35-9]\d|4[1-8])|4[14-9]\d|5([0-35689]\d|7[1-79])|66\d|7[2-35-8]\d|8\d{2}|9[13589]\d)\d{7}$");
Matcher m = p.matcher(mobile);
2021-01-12更新,经提醒缺少1349的手机号码
代码语言:javascript复制Pattern p = Pattern.compile("^1(3\d{2}|4[14-9]\d|5([0-35689]\d|7[1-79])|66\d|7[2-35-8]\d|8\d{2}|9[13589]\d)\d{7}$");
Matcher m = p.matcher(mobile);
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130799.html原文链接:https://javaforall.cn