>백엔드 개발 >PHP 튜토리얼 >PHP에서 정규식을 사용하여 ID 번호 형식을 확인하는 방법

PHP에서 정규식을 사용하여 ID 번호 형식을 확인하는 방법

王林
王林원래의
2023-06-23 10:31:261401검색

PHP 애플리케이션을 작성할 때 사용자가 입력한 데이터가 표준 ID 카드 형식을 준수하는지 확인하기 위해 입력 ID 번호에 대한 형식 확인을 수행해야 하는 경우가 있습니다. PHP에서는 정규식을 사용하여 ID 카드 번호 형식을 확인할 수 있습니다. 이 기사에서는 이 기능을 구현하기 위해 정규식을 사용하는 방법을 소개합니다.

먼저 ID번호의 형식을 이해해야 합니다. 중국법에 따르면 ID번호는 총 18자리로 이루어져 있으며, 그 중 처음 17자리는 숫자이고 마지막 자리는 숫자 또는 문자 X가 될 수 있으며 이는 ID번호가 올바르게 입력되었는지 확인하는 데 사용됩니다. ID 번호의 형식은 다음과 같습니다.

  1. 처음 두 자리는 지방 행정 구역 코드입니다.
  2. 다음 두 자리는 현 수준 행정 구역 코드입니다.
  3. 다음 두 자리는 현 수준입니다.
  4. 다음은 생년월일 4자리입니다.
  5. 그 다음은 월 2자리입니다.
  6. 마지막으로 생년월일 2자리와 일련번호 3자리가 있습니다. .

위 조항에 따라 ID 번호 형식에 맞게 정규식을 작성할 수 있습니다. 정규식의 구문은 다음과 같습니다.

/^d{2}(0[1-9]|[1-9]d)d{2}d{4}d{2}d{2}(d{3}|d{4}[Xx])$/

여기서:

  1. ^는 입력 문자열의 시작 위치와 일치함을 의미합니다. ^ 表示匹配输入字符串的开始位置;
  2. d 表示匹配任意数字,相当于 [0-9]
  3. {n} 表示匹配 n 次;
  4. () 表示分组,方便进行后续操作;
  5. | 表示或者,用于匹配多个选项;
  6. $ 表示匹配输入字符串的结束位置;
  7. [] 表示匹配集合中的任意字符。

根据上述正则表达式,我们可以将它作为参数传递给 PHP 内置函数 preg_match(),用于验证身份证号码格式。preg_match() 函数的语法如下:

preg_match(string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0): int|false

该函数接受一个正则表达式和一个待匹配的字符串作为参数。如果成功匹配,返回 1,否则返回 0。如果函数出错,返回 false。

下面是一个验证身份证号码格式的 PHP 函数示例:

function validate_id_card(string $id_card): bool
{
    $pattern = '/^d{2}(0[1-9]|[1-9]d)d{2}d{4}d{2}d{2}(d{3}|d{4}[Xx])$/';
    return preg_match($pattern, $id_card) === 1;
}

该函数接受一个字符串参数 id_card,用于验证身份证号码格式。函数内部使用了 $pattern 变量保存了前面定义的正则表达式,并将其作为参数传递给 preg_match()

d는 임의의 숫자와 일치함을 의미합니다. , 이는 [0-9]와 동일합니다.

{n}는 n번 일치함을 의미합니다. 🎜🎜()는 용이하게 그룹화하는 것을 의미합니다. 후속 작업 🎜🎜 |는 여러 옵션을 일치시키는 데 사용됨을 의미합니다. 🎜🎜$는 입력 문자열의 끝 위치와 일치함을 의미합니다. /code>는 세트의 모든 문자와 일치함을 의미합니다. 🎜🎜🎜위 정규식에 따라 PHP 내장 함수 preg_match()에 매개변수로 전달하여 신분증 번호 형식을 확인할 수 있습니다. preg_match() 함수의 구문은 다음과 같습니다. 🎜rrreee🎜 이 함수는 정규식과 일치시킬 문자열을 매개변수로 받습니다. 성공적으로 일치하면 1을 반환하고, 그렇지 않으면 0을 반환합니다. 함수에 오류가 발생하면 false가 반환됩니다. 🎜🎜다음은 신분증 번호 형식을 확인하는 PHP 함수의 예입니다. 🎜rrreee🎜이 함수는 신분증 번호 형식을 확인하는 데 사용되는 문자열 매개 변수 id_card를 허용합니다. $pattern 변수는 함수 내부에서 이전에 정의된 정규식을 저장하는 데 사용되며 preg_match() 함수에 매개변수로 전달됩니다. 함수가 성공적으로 일치하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 🎜🎜위는 PHP에서 정규식을 사용하여 ID 번호의 형식을 확인하는 방법입니다. 정규식을 사용하면 복잡한 확인 논리를 수동으로 작성할 필요 없이 ID 카드 번호 형식 확인을 보다 효율적이고 편리하게 완료할 수 있습니다. 🎜

위 내용은 PHP에서 정규식을 사용하여 ID 번호 형식을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.