以下是 Java 代码示例:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class IDCardValidation {
    public static boolean validate(String idCard) {
        String pattern = "\d{17}[\d|x]|\d{15}";
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(idCard);
        return m.matches();
    }

    public static void main(String[] args) {
        String idCard = "440982199510103135";
        boolean result = validate(idCard);
        System.out.println('ID Card validation result: ' + result);
    }
}

解释:

  • String pattern = "\d{17}[\d|x]|\d{15}"; 正则表达式用于匹配身份证号码,其中 \d 表示数字,{17} 表示前 17 位数字,[\d|x] 表示第 18 位数字或字母 x,| 表示或,\d{15} 表示 15 位数字的身份证号码。
  • Pattern p = Pattern.compile(pattern); 使用 Pattern 类将正则表达式编译为模式。
  • Matcher m = p.matcher(idCard); 使用 Matcher 类将模式应用于身份证号码。
  • return m.matches(); 如果身份证号码匹配模式,则返回 true,否则返回 false。

在上面的示例中,身份证号码为 440982199510103135,正则表达式将其匹配为合法的身份证号码,因此输出结果为 ID Card validation result: true


原文地址: https://www.cveoy.top/t/topic/nSB8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录