주민등록번호는 개인의 생년월일, 성별, 출신지 등 많은 정보가 저장되는 매우 중요하고 민감한 정보입니다. PHP에서 정규식을 사용하여 ID 번호의 생년월일을 일치시키는 것이 특히 중요합니다. 본 글에서는 정규식을 사용하여 PHP에서 ID 카드 번호의 생년월일을 일치시키는 방법을 다음 세 가지 측면에서 소개합니다.
1. ID 카드 번호 형식
ID 카드 번호 형식에는 다음 정보를 포함하는 특정 규정이 있습니다.
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개 주 및 도시 정보와 일치합니다. (19|20)</ code>는 생년월일의 처음 두 자리와 일치하며 제한은 19 또는 20입니다. <code>^
表示匹配字符串的开始;d{6}
匹配前六位省份、城市信息;(19|20)
匹配出生年份的前两位,限制为 19 或 20;d{2}
匹配出生年份的后两位;(0[1-9]|1[012])
匹配出生月份,限制范围为 01-12;(0[1-9]|[12][0-9]|3[01])
匹配出生日期,限制范围为 01-31;d{3}
匹配身份证号码的最后三位校验码;[dX]
匹配身份证号码的最后一位,可能是数字或大写字母X;$
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에서 ID 번호의 생년월일을 일치시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!