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

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!");
        }
    }
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值