>  기사  >  백엔드 개발  >  정규식을 사용하여 PHP에서 ID 번호의 생년월일을 일치시키는 방법

정규식을 사용하여 PHP에서 ID 번호의 생년월일을 일치시키는 방법

王林
王林원래의
2023-06-22 22:25:391956검색

주민등록번호는 개인의 생년월일, 성별, 출신지 등 많은 정보가 저장되는 매우 중요하고 민감한 정보입니다. PHP에서 정규식을 사용하여 ID 번호의 생년월일을 일치시키는 것이 특히 중요합니다. 본 글에서는 정규식을 사용하여 PHP에서 ID 카드 번호의 생년월일을 일치시키는 방법을 다음 세 가지 측면에서 소개합니다.

1. ID 카드 번호 형식

ID 카드 번호 형식에는 다음 정보를 포함하는 특정 규정이 있습니다.

  1. 처음 두 개는 지방을 나타내고, 가운데 두 개는 시 또는 현급 도시를 나타냅니다.
  2. 다음은 생년월일입니다.
  3. 다음 두 자리는 생년월일을 나타냅니다.
  4. 다음 두 자리는 생년월일을 나타냅니다.
  5. ID번호는 총 18자리이며, 앞의 17자리는 숫자나 대문자, 마지막 자리는 숫자나 대문자 X가 가능합니다. 따라서 정규식을 사용하여 ID 번호의 생년월일을 일치시키기 전에 ID 번호의 형식을 이해해야 합니다.
  6. 2. 정규식 사용

PHP에서는 preg_match 함수를 사용하여 ID 번호와 일치하는 정규식을 호출합니다. 생년월일을 일치시키려면 아래와 같이 대괄호()를 사용하여 생년월일을 그룹화하고 정규식에 해당 와일드카드 문자를 사용해야 합니다.

$pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[dX]$/';

여기서:

^는 일치를 의미합니다. 문자열의 시작 부분

d{6}는 처음 6개 주 및 도시 정보와 일치합니다.
  1. (19|20) code>는 생년월일의 처음 두 자리와 일치하며 제한은 19 또는 20입니다. <code>^ 表示匹配字符串的开始;
  2. d{6} 匹配前六位省份、城市信息;
  3. (19|20) 匹配出生年份的前两位,限制为 19 或 20;
  4. d{2} 匹配出生年份的后两位;
  5. (0[1-9]|1[012]) 匹配出生月份,限制范围为 01-12;
  6. (0[1-9]|[12][0-9]|3[01]) 匹配出生日期,限制范围为 01-31;
  7. d{3} 匹配身份证号码的最后三位校验码;
  8. [dX] 匹配身份证号码的最后一位,可能是数字或大写字母X;
  9. $
  10. d{2}는 생년월일의 마지막 두 자리와 일치합니다.

(0; [1-9]|1[012])는 생년월일과 일치하며 제한 범위는 01-12입니다.

(0[1-9]|[12][0-9]|3 [01])는 생년월일과 일치하며 제한 범위는 01-31입니다. ;

d{3}는 ID 번호 마지막 세 자리와 일치합니다.

[dX]는 ID 번호의 마지막 숫자와 일치하며 숫자일 수도 있습니다. 또는 대문자 X

🎜$는 문자열의 끝과 일치함을 의미합니다. 🎜🎜🎜3. 코드 구현🎜🎜 preg_match 함수와 위 정규식을 사용하여 ID 번호를 일치시키고, 괄호를 사용하여 생년월일을 그룹화할 수 있습니다. 코드는 다음과 같습니다. 🎜
$id_card = '34052419951117258X';  // 身份证号码
$pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[dX]$/';  // 正则表达式

if (preg_match($pattern, $id_card, $matches)) {
    $birth_year = $matches[1] . $matches[2];  // 出生年份
    $birth_month = $matches[3];  // 出生月份
    $birth_day = $matches[4];  // 出生日期
    echo "出生日期:{$birth_year}-{$birth_month}-{$birth_day}";  // 输出
} else {
    echo "身份证号码格式不正确";
}
🎜위 코드의 출력 결과는 다음과 같습니다. 🎜
出生日期:1995-11-17
🎜이 글에서는 PHP에서 신분증 번호의 생년월일을 일치시키기 위해 정규식을 사용하는 방법을 소개합니다. 주의할 필요가 있습니다. 정규식 작성 및 신원 인증서 번호 형식 제한. 강력한 문자열 일치 도구로서 정규식은 PHP에서 널리 사용됩니다. 🎜

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

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