import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要验证的身份证号码");
String id = sc.next();
boolean rs = judge(id);
System.out.println(rs);
}
private static boolean judge(String id) {
//1.判断传进来的参数是否为空
if (id == null)
return false;
//2.判断第一位数是否为0
if (id.startsWith("0"))
return false;
//3.判断参数是否为18位数
if (id.length() != 18)
return false;
//4.遍历身份证号码每一位
for (int i = 0; i < id.length(); i++) {
char c = id.charAt(i);
//4.1 判断第18位数是否为 0-9 之间的数且不为X
if (i == id.length() - 1) {
if (c < '0' || c > '9' && c != 'X') {
return false;
}
} else {
//4.2 判断其他为是否符合规则
if (c < '0' || c > '9') {
return false;
}
}
}
//全部通则返回true
return true;
}
}
java案例--根据规则验证身份证号码正确性
于 2022-07-21 18:00:00 首次发布