大家好,又见面了,我是你们的朋友全栈君。
有帮助得记得点个赞,有问题请评论区反馈,看到会第一时间查证更新!!!
有需要写正则表达式或者正则表达式学习资料都可以私聊我哦
最近在跟一个别人写好上线的项目,今天出了一个bug,部分正常的手机号验证格式不通,查看了代码发现正则表达式有较大的错误,如图:
存在的问题:
1.存在逗号
2.不够全面,部分正常的手机号验证不通过
所以决定自己写,百度一下手机号的格式,下面应该是比较全面,所以就自己根据下面的写验证的正则表达式,如有小伙伴发现下图仍有遗漏请在评论指出,我看到会马上更新
最后写出来的正则表达式:(经网友提示下面正则表达式有缺漏,130,181,180)不能通过
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更新修改后的代码:
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手机号,结合下面新闻
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的手机号码
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的手机号码
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);
有帮助得记得点个赞!!!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130799.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...