정규식은 프로그램에서 일반적으로 사용되는 도구로 일련의 규칙을 사용하여 텍스트를 일치시키고 수정할 수 있습니다. PHP에서는 정규식의 사용이 매우 중요하며 주로 문자열 일치, 교체 및 추출 작업에 사용됩니다.
모든 정규식 중에서 ID 번호 일치는 전형적인 문제입니다. PHP에서는 일련의 정규식을 통해 ID 번호를 일치시킬 수 있습니다.
먼저 ID번호의 구조를 이해해야 합니다. 국가 표준 '시민 식별 번호'(GB 11643-1999)에 따르면 ID 번호는 총 18자리입니다. 처음 17자리는 지역 번호와 생년월일 코드이고, 18번째 자리는 검사 코드입니다.
그 중 처음 6자리는 지역코드로, 성, 자치구, 중앙직할시 등의 약칭을 포함합니다. 7~14번째 숫자는 YYYYMMDD 형식의 생년월일 코드입니다. 15~17번째 자리는 일련번호, 즉 같은 지역에서 같은 날 태어난 사람들의 일련번호입니다. 17번째 자리의 홀수는 남자, 짝수는 여자를 나타냅니다. 마지막 숫자는 국가 표준에 따라 계산된 숫자인 검사 코드입니다.
ID 번호의 구조에 따라 다음과 같은 PHP 정규식을 작성할 수 있습니다.
$pattern = '/^([1-9]\d{5})(19\d{2}|20\d{2})(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i';
위 정규식에서
마지막 검사 코드의 일치는 특별합니다. X가 될 수도 있으므로 (d|X)를 사용하여 표현합니다.
preg_match 함수를 사용하여 ID 번호를 일치시킵니다. 코드는 다음과 같습니다.
$pattern = '/^([1-9]\d{5})(19\d{2}|20\d{2})(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i'; $id_card = '11010119880101001X'; if (preg_match($pattern, $id_card)) { echo '匹配成功'; } else { echo '匹配失败'; }
이 예에서는 $pattern 및 $id_card 두 변수가 preg_match 함수에 매개 변수로 전달됩니다. 일치가 성공하면 "일치 성공"이 출력되고, 그렇지 않으면 "일치 실패"가 출력됩니다.
간단히 말하면, PHP 정규식은 ID 번호와 같은 복잡한 문자열을 일치시키는 데 사용할 수 있는 매우 강력한 도구입니다. 이 기사를 통해 정규식을 사용하여 PHP에서 ID 번호를 일치시키는 방법을 익혀야 합니다.
위 내용은 PHP에서 정규식을 사용하여 ID 카드만 일치시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!