返回
正则表达式教程:验证户口簿
正则表达式
2024-02-28 16:10:12
一、正则解释
户口簿号码验证正则表达式:
/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
该正则表达式使用以下语法:
^
: 匹配字符串的开始。$
: 匹配字符串的末尾。\d
: 匹配数字。{15}
: 匹配 15 位数字。{18}
: 匹配 18 位数字。{17}
: 匹配 17 位数字。(\d|X|x)
: 匹配数字、大写或小写 X。
正则表达式匹配以下三种类型的户口簿号码:
- 15 位纯数字。
- 18 位纯数字。
- 17 位数字加上大写或小写 X。
二、使用场景
该正则表达式可用于以下场景:
- 验证户口簿号码的合法性。
- 从文本中提取户口簿号码。
- 对户口簿号码进行数据清理。
三、代码示例
JavaScript
function validateHouseholdBookNumber(number) {
const regex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
return regex.test(number);
}
Java
import java.util.regex.Pattern;
public class HouseholdBookNumberValidator {
private static final Pattern PATTERN = Pattern.compile(
"^(\\d{15}$)|(\\d{18}$)|(\\d{17}(\\d|X|x)$)"
);
public static boolean validate(String number) {
return PATTERN.matcher(number).matches();
}
}
PHP
function validateHouseholdBookNumber($number) {
$pattern = "/(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)/";
return preg_match($pattern, $number);
}
Python
import re
def validate_household_book_number(number):
pattern = r"^(\\d{15}$)|(\\d{18}$)|(\\d{17}(\\d|X|x)$)"
return bool(re.match(pattern, number))
结论
该正则表达式提供了一种有效且可靠的方法来验证户口簿号码。通过使用本教程提供的代码示例,您可以在各种编程语言中轻松实现该验证。