2019最新的手机号码正则表达式

2022-09-08 11:07:10 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

2019最新的手机号码正则表达式

看着我的手机号码验证又被测试给踢了回来,没办法自己只能写一个备用了。

参考博客:

https://blog.csdn.net/u010085362/article/details/80347225

直接贴出我的正则:

代码语言:javascript复制
^((\ ?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更新)

代码语言:javascript复制
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!");
        }
    }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134611.html原文链接:https://javaforall.cn

0 人点赞