正则表达式验证身份证号码
时间: 2023-10-14 19:05:49 浏览: 140
正则表达式验证中国大陆身份证号码:
```javascript
/^\d{17}(\d|x)$/i
```
解释:
- `^` 匹配字符串开始
- `\d` 匹配数字
- `{17}` 匹配前面的数字 17 次
- `(\d|x)` 匹配最后一位数字或字母 x
- `i` 表示大小写不敏感
- `$` 匹配字符串结束
示例:
```javascript
const regex = /^\d{17}(\d|x)$/i;
const id1 = '110101199003075192'; // 正确
const id2 = '11010119900307519x'; // 正确
const id3 = '11010119900307519X'; // 正确
const id4 = '11010119900307519'; // 错误,长度不足
const id5 = '1101011990030751921'; // 错误,长度超过 18 位
console.log(regex.test(id1)); // true
console.log(regex.test(id2)); // true
console.log(regex.test(id3)); // true
console.log(regex.test(id4)); // false
console.log(regex.test(id5)); // false
```
相关问题
java正则表达式验证身份证
在Java中,可以使用正则表达式来验证身份证号码的合法性。下面是一个示例代码:
```java
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Main {
public static void main(String[] args) {
String idCardNumber = "身份证号码"; // 替换为要验证的身份证号码
// 正则表达式
String regex = "^\\d{17}(\\d|x|X)$";
// 创建 Pattern 对象
Pattern pattern = Pattern.compile(regex);
// 创建 Matcher 对象
Matcher matcher = pattern.matcher(idCardNumber);
// 判断是否匹配
if (matcher.matches()) {
System.out.println("身份证号码合法");
} else {
System.out.println("身份证号码不合法"); }
}
}
```
这段代码使用了正则表达式 `^\\d{17}(\\d|x|X)$` 来验证身份证号码的合法性。其中,`^` 表示字符串的开始,`\\d{17}` 表示匹配17个数字,`(\\d|x|X)` 表示匹配一个数字或字母x或字母X,`$` 表示字符串的结束。
如果身份证号码合法,输出结果为"身份证号码合法";如果身份证号码不合法,输出结果为"身份证号码不合法"。
正则表达式验证身份证号
正则表达式是一种用于匹配字符串模式的工具,可以用来验证身份证号码。身份证号码的格式是固定的,一般为18位数字(最后一位可能是数字或字母X)。下面是一个简单的正则表达式示例,用于验证身份证号码:
^\d{17}[\dX]$
解释一下这个正则表达式:
- ^ 表示匹配字符串的开始位置
- \d 表示匹配一个数字
- {17} 表示前面的\d需要出现17次
- [\dX] 表示匹配一个数字或字母X
- $ 表示匹配字符串的结束位置
所以,这个正则表达式可以用来验证一个18位的身份证号码是否合法。
阅读全文