java 判断字符串是否为身份证号
时间: 2023-11-15 09:57:23 浏览: 356
Java 身份证号查询
4星 · 用户满意度95%
可以使用正则表达式来判断一个字符串是否为身份证号。以下是一个示例代码:
```java
public static boolean isIdCard(String str) {
String regex = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";
return Pattern.matches(regex, str);
}
```
其中,正则表达式 `(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)` 表示:
- `^` 表示字符串的开头
- `\\d` 表示数字
- `{15}` 表示前面的数字重复出现 15 次
- `|` 表示或者
- `{18}` 表示前面的数字重复出现 18 次
- `{17}` 表示前面的数字重复出现 17 次
- `(\\d|X|x)` 表示数字或者字母 X(大小写均可)
- `$` 表示字符串的结尾
如果一个字符串符合这个正则表达式,就可以认为它是一个身份证号。
阅读全文