大家好,又见面了,我是你们的朋友全栈君。
2019最新的手机号码正则表达式
看着我的手机号码验证又被测试给踢了回来,没办法自己只能写一个备用了。
参考博客:
https://blog.csdn.net/u010085362/article/details/80347225
直接贴出我的正则:
^((\\+?86)|(\\(\\+86\\)))?((((13[^4]{1})|(14[5-9]{1})|147|(15[^4]{1})|166|(17\\d{1})|(18\\d{1})|(19[89]{1}))\\d{8})|((134[^9]{1}|1410|1440)\\d{7}))$
有问题请告知,自己简单的测试了下,应该没问题
基于有些小伙伴测试有问题,特附上代码测试(2021.2.5更新)
public static void main(String[] args) {
List<String> mobiles = new ArrayList<>();
mobiles.add("+8613497058184");
mobiles.add("8613497058184");
mobiles.add("13487058184");
mobiles.add("14107058184");
mobiles.add("13457019273");
mobiles.add("13497019273");
String regex = "^((\\+?86)|(\\(\\+86\\)))?((((13[^4])|(14[5-9])|147|(15[^4])|166|(17\\d)|(18\\d)|(19[89]))\\d{8})|((134[^9]|1410|1440)\\d{7}))$";
regex = "^((((13[^4])|(14[5-9])|147|(15[^4])|166|(17\\d)|(18\\d)|(19[89]))\\d{8})|((134[^9]|1410|1440)\\d{7}))$";
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
for(String mobile:mobiles){
Matcher matcher = pattern.matcher(mobile);
System.out.print("["+mobile + "] ");
System.out.println(matcher.matches()?" match!":" not match!");
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134611.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...