java 正则表达式校验手机号码---java 正则表达式校验身份证号码

/**
 * java 正则表达式校验手机号码 ^1[3|4|5|7|8][0-9]\\d{4,8}$
 *手机号校验:
1、正确数据-输入手机号码
2、错误数据-输入为空
3、错误数据-输入为空格
4、错误数据-输入为英文字符
5、错误数据-输入为中文字符
6、错误数据-输入为特殊字符
7、错误数据-输入数字长度少于11位
8、错误数据-输入数字长度多于11位
9、错误数据-输入数字开头几位不正确
10、错误数据-手机号码开头有空格
11、错误数据-手机号码中间有空格
12、错误数据-结尾存在空格
 * @param args
 */
public static void main(String[] args) {
    
    String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,2-9]))\\d{8}$";
    String id = "13800138000";

    if (id.matches(regex)) {
        System.out.println("是");
    } else {
        System.out.println("不是");
    }
}

/**
 * java 正则表达式校验身份证号码
 *身份证校验:
1、正确数据-输入15位身份证号,例如320311770706001
2、正确数据-输入18位身份证号且只有数字,例如130701199310302288
3、正确数据_输入18位身份证号且最后一位为X,例如52030219891209794X
4、错误数据_输入18位身份证号且最后一位为除X外的字母,例如52030219891209794Y
5、错误数据-输入数字少于15位,例如32031177070600
6、错误数据-输入数字多于15位少于18位,例如3203117707060011
7、错误数据-输入数字少于18位,例如52030219891209794
8、错误数据-输入数字多于18位,例如5203021989120979412
9、错误数据-身份证号中含有字母,例如52030219aaaaddd8912
10、错误数据-输入数据中含有特殊字符,例如520@#¥%&×302198912
11、错误数据-输入为空
12、错误数据-输入为空格
 * @param args
 */
public static void main(String[] args) {
    /*
     * \d{15}(\d{2}[0-9xX])?
     */
    String regex = "\\d{15}(\\d{2}[0-9xX])?";
    String id = "11010219880215789X";

    if (id.matches(regex)) {
        System.out.println("是身份证号");
    } else {
        System.out.println("不是身份证号");
    }
}

  

posted @ 2022-08-16 10:31  73tong  阅读(3591)  评论(0编辑  收藏  举报