신분증번호는 우리나라 거주자의 신원을 확인하는 중요한 상징입니다. 애플리케이션에서는 ID 번호의 유효성과 정확성을 보장하기 위해 정규 표현식을 통해 확인해야 합니다. 이 기사에서는 PHP 정규식을 사용하여 ID 번호의 유효성과 성별을 확인하는 방법을 소개합니다.
1. ID번호의 구성 및 규칙
ID번호는 18자리 또는 17자리 + 1개의 체크코드로 구성됩니다. 그 중 처음 17자리는 신분증 소유자 정보이고, 마지막 1자리는 신분증 번호가 맞는지 확인하는 인증번호입니다.
신분증 번호의 규정은 다음과 같습니다.
2. 정규식을 사용하여 ID 번호를 확인하세요
정규식을 사용하면 ID 번호의 유효성을 쉽게 확인할 수 있습니다. 다음은 간단한 정규식 예입니다.
$pattern = '/^[1-9]d{5}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[0-9Xx]$/'; $code = '110101199001011234'; if (preg_match($pattern, $code)) { echo '身份证号码有效'; } else { echo '身份证号码无效'; }
이 정규식의 규칙은 ID 카드 번호의 규칙과 일치하며 일부 한정자와 문자 클래스가 사용됩니다. 그 중 ^는 문자열의 시작을 나타내고, $는 문자열의 끝을 나타냅니다. [1-9]는 첫 번째 숫자가 0이 될 수 없음을 의미하고, d{5}는 다음 5자리가 숫자임을 의미합니다. (19|20)은 신분증 소지자의 출생연도가 19 또는 20으로 시작하는 숫자임을 나타냅니다. (0[1-9]|1[012])는 태어난 월 01~12를 나타냅니다. (0[1-9]|12|3[01])은 생년월일이 01-31인 숫자를 나타냅니다. d{3}는 마지막 세 자리 숫자가 임의의 숫자일 수 있음을 의미하고, [0-9Xx]는 마지막 숫자가 숫자 또는 문자 X임을 의미합니다. 이 정규식을 사용하면 ID 번호의 유효성을 쉽게 확인할 수 있습니다.
3. 정규식을 이용해 주민등록번호의 성별을 확인하세요
주민등록번호의 17번째 자리는 주민등록번호의 성별을 나타내며, 홀수는 남성, 짝수는 여성을 나타냅니다. 정규식을 통해 ID 번호의 17번째 자리를 쉽게 추출하고 성별을 확인할 수 있습니다.
다음은 간단한 예입니다.
$pattern = '/^[1-9]d{5}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])(d{3})[0-9Xx]$/'; $code = '110101199001011234'; if (preg_match($pattern, $code, $matches)) { $sex = $matches[6] % 2 == 0 ? '女' : '男'; echo '性别为' . $sex; } else { echo '身份证号码无效'; }
이 정규식은 ID 번호의 17번째 숫자를 캡처하는 데 사용되는 추가 캡처 그룹(d{3})이 있다는 점을 제외하면 이전 정규식과 동일합니다. $matches 변수를 사용하여 캡처된 정보를 가져오고 17번째 위치의 패리티를 기반으로 성별을 결정합니다.
요약하자면, 간단한 정규식을 이용하면 쉽게 주민등록번호의 유효성을 검증하고 성별 정보를 추출할 수 있습니다. 실제 적용에서 보다 엄격하고 상세한 검증 규칙이 필요한 경우 실제 필요에 따라 조정하고 개선할 수 있습니다.
위 내용은 ID 번호의 유효성과 성별을 확인하는 PHP 정규식 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!