java中正则校验15位或18位身份证号
要使用Java正则表达式校验15位或18位身份证号,可以使用以下代码:
```java
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class IDCardValidator {
public static void main(String[] args) {
String idCard1 = "123456789012345";
String idCard2 = "123456789012345678";
System.out.println("身份证号 " + idCard1 + " 是否有效: " + isValidIDCard(idCard1));
System.out.println("身份证号 " + idCard2 + " 是否有效: " + isValidIDCard(idCard2));
}
public static boolean isValidIDCard(String idCard) {
String regex = "^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(idCard);
return matcher.matches();
}
}
```
这段代码首先定义了一个名为`isValidIDCard`的方法,该方法接受一个字符串参数`idCard`,并使用正则表达式`^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$`来匹配15位、18位或17位加一位数字或大写字母的身份证号。如果匹配成功,返回`true`,否则返回`false`。
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!