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("不是身份证号"); } }