Android登陆注册的手机号码匹配

1、背景介绍

        在做开发的时候,经常会有一些应用,需要用户的手机号码注册使用,避免任意输入一个不是手机号码的11位数字注册,会使用正则表达式匹配。但是在网上找了很多匹配表达式,发现漏了一些,经过查找,发现是现在4G的用户,开始了新的手机号段。


2、表格

        这里有一个表格,是目前中国的手机号码字段,如下所示:



3、正则

       在做java开发的时候,我们需要使用正则表达式匹配数据,代码如下:

/**
     * 手机号码是否合法
     * @param phoneNumber 手机号码
     * @return true 合法
     */
    public static boolean isRightPhone(String phoneNumber){
        /**
         * 国内手机号码验证规则:
         * 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
         * 联通:130、131、132、152、155、156、185、186
         * 电信:133、153、180、189、(1349卫通)
         * 新增的4G手机号段:
         * 中国电信分到新号段170,177,联通分到了176,移动分到了178号段.
         */
        String regExp = "^((13[0-9])|(14[5,7])|(15[^4,\\D])|(17[0,6-8])|(18[0-9]))\\d{8}$";
        Pattern p = Pattern.compile(regExp);
        Matcher m = p.matcher(phoneNumber);
        return m.matches();
    }


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值