返回

正则表达式教程:香港身份证号码校验

正则表达式

一、正则表达式解释

香港身份证号码的正则表达式为:

/^[a-zA-Z]\d{6}\([\dA]\)$/

该正则表达式可以分解为以下部分:

  • ^ 匹配字符串的开头。
  • [a-zA-Z] 匹配一个英文字母(大小写均可)。
  • \d{6} 匹配 6 位数字。
  • \( [dA]\)$ 匹配一个左圆括号,后跟一个数字或字母 A,再跟一个右圆括号,该字母或数字表示校验位。

二、使用场景

该正则表达式可用于验证香港身份证号码的格式是否正确,确保身份证号码符合指定的结构和规则。它广泛应用于各种场景,例如:

  • 人员信息登记
  • 身份认证
  • 数据处理
  • 金融交易

三、代码示例

JavaScript

const regex = /^[a-zA-Z]\d{6}\([\dA]\)$/;
const isValid = regex.test('K034169(1)'); // true

Java

import java.util.regex.Pattern;

public class HKIDValidation {
    public static boolean isValid(String id) {
        return Pattern.matches("^[a-zA-Z]\\d{6}\\([dA]\\)
import java.util.regex.Pattern;

public class HKIDValidation {
    public static boolean isValid(String id) {
        return Pattern.matches("^[a-zA-Z]\\d{6}\\([dA]\\)$", id);
    }

    public static void main(String[] args) {
        System.out.println(isValid("K034169(1)")); // true
    }
}
quot;
, id); } public static void main(String[] args) { System.out.println(isValid("K034169(1)")); // true } }

PHP

$pattern = '/^[a-zA-Z]\d{6}\([\dA]\)$/';
$result = preg_match($pattern, 'K034169(1)'); // 1

if ($result) {
    echo 'Valid Hong Kong ID';
} else {
    echo 'Invalid Hong Kong ID';
}

Python

import re

pattern = r'^[a-zA-Z]\d{6}\([\dA]\)
import re

pattern = r'^[a-zA-Z]\d{6}\([\dA]\)$'
match = re.match(pattern, 'K034169(1)')

if match:
    print('Valid Hong Kong ID')
else:
    print('Invalid Hong Kong ID')
#x27;
match = re.match(pattern, 'K034169(1)') if match: print('Valid Hong Kong ID') else: print('Invalid Hong Kong ID')