正则表达式判断是否为手机号

没什么好说的,上代码:

    /**
     *
     * @param mobile 手机号
     * @return
     * @throws PatternSyntaxException
     * 正则表达式判断是否是手机号
     */
    public static boolean isChinaMobile(String mobile) throws PatternSyntaxException{
        if(mobile == null){
            return false;
        }
        if(mobile.length() != 11){
            return false;
        }

        /**
         * "[1]"代表下一位为数字可以是几,"[0-9]"代表可以为0-9中的一个,"[5,7,9]"表示可以是5,7,9                            中的任意一位,
         * [^4]表示除4以外的任何一个,\\d{9}"代表后面是可以是0~9的数字,有9位。
         */
        String regExp = "^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))\\d{8}$";
        Pattern p = Pattern.compile(regExp);
        Matcher m = p.matcher(mobile);
        return m.matches();
    }

 

你可能感兴趣的:(正则表达式判断是否为手机号)