public static String valiCertNo(String certNo) {
Boolean isexists = true;// 内容是否存在
String info = "";
final char[] VERIFY_CODE = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' }; // 18位身份证中最后一位校验码
final int[] VERIFY_CODE_WEIGHT = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };// 18位身份证中,各个数字的生成校验码时的权值
// 前17位验证
if (certNo.length() > 17) {
int falseNum = 0;
for (int i = 0; i < 17; i++) {
char ch = certNo.charAt(i);
if (!Character.isDigit(ch)) {
falseNum += 1;
}
}
if (falseNum > 0) {
info = "身份证前17位须为阿拉伯数字";
} else {
// 出身日期验证
int falseDate = 0;
String birthDate = certNo.substring(6, 14);
String year = certNo.substring(6, 10);
String month = certNo.substring(10, 12);
String day = cer
身份证检测java代码
最新推荐文章于 2024-05-07 20:32:58 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)