`

手机固话号码判断与区号截取

 
阅读更多

主要用到的正则表达式:

 

//用于匹配手机号码
private final static String REGEX_MOBILEPHONE = "^0?1[3458]\\d{9}$";

//用于匹配固定电话号码
private final static String REGEX_FIXEDPHONE = "^(010|02\\d|0[3-9]\\d{2})?\\d{6,8}$";

//用于获取固定电话中的区号
private final static String REGEX_ZIPCODE = "^(010|02\\d|0[3-9]\\d{2})\\d{6,8}$";

  

    /**
     * 判断是否为手机号码
     * 
     * @param number
     *            手机号码
     * @return
     */
    public static boolean isCellPhone(String number) {
        Pattern p = Pattern.compile(PATTERN_MOBILEPHONE);
        Matcher m = p.matcher(number);
        return match.matches();
    }

 

    /**
     * 判断是否为固定电话号码
     * 
     * @param number
     *            固定电话号码
     * @return
     */
    public static boolean isFixedPhone(String number) {
        Pattern p = Pattern.compile(PATTERN_FIXEDPHONE);
        Matcher m = p.matcher(number);
        return match.matches();
    }

 

    /**
     * 获取固定号码号码中的区号
     * 
     * @param strNumber
     * @return
     */
    public static String getZipFromHomephone(String strNumber) {
        Pattern p = Pattern.compile(PATTERN_ZIPCODE);
        Matcher m = p.matcher(strNumber);
        if (matcher.find()) {
            return matcher.group(1);
        }

        return null;
    }

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics