正则表达式验证是否为手机号,手机号脱敏

最近在做springboot项目,需要判断手机号是否为手机号。使用正则表达式的方法判断能超级的简便,话不多说,直接上代码

/**
     * 验证是否是正确合法的手机号码
     *
     * @param telephone
     * @return 合法返回true,不合法返回false
     */
    public static boolean isCellPhoneNo(String telephone) {
//        if (telephone.length() != 11) {
//            return false;
//        }
        Pattern pattern = Pattern.compile("^1[3,4,5,6,7,8,9]d{9}$");
        Matcher matcher = pattern.matcher(telephone);
        if (matcher.matches()) {
            return true;
        }
        return false;
    }

另外,思考到安全问题,一般手机号要进行脱敏处理(例:138****4894),使用正则表达式也可以更简洁的完成,代码如下:

/**
     * 手机号脱敏
     * @param mobile
     * @return 合法返回true,不合法返回false
     * */
    public static String mobileEncrypt(String mobile) {
        if (org.apache.commons.lang3.StringUtils.isEmpty(mobile) || (mobile.length() != 11)) {
            return mobile;
        }
        return mobile.replaceAll("(d{3})d{4}(d{4})", "$1****$2");
    }

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
哈_纯友谊罢了的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容