신분증 번호는 우리 생활에 있어서 매우 중요한 신분증이기도 하며, 각종 사업 거래에서 자주 작성해야 하는 필수 정보이기도 합니다. 따라서 웹 애플리케이션을 개발할 때 ID 번호가 올바른지 확인하는 것이 매우 중요합니다.
PHP에서는 정규식을 통해 ID 번호의 형식을 확인할 수 있습니다. 아래에서는 정규식을 사용하여 ID 번호의 형식을 확인하는 방법을 자세히 소개합니다.
1. 신분증 번호 형식
신분증 번호는 18자리와 문자 X로 구성됩니다. 앞 17자리는 신분증의 지역번호와 생년월일 코드이고, 마지막 자리는 신분증의 인증번호입니다.
ID 번호 형식은 다음과 같습니다.
第1-6位是身份证的地区编码,由国家统计局制定; 第7-14位是身份证的出生日期,格式为YYYYMMDD; 第15-17位是身份证的顺序码,表示在当天出生的第几个人; 第18位是身份证的校验码,用于校验身份证号码的合法性。
2. 정규식을 사용하여 ID 번호 형식을 확인합니다.
정규식을 사용하여 ID 번호 형식을 확인하려면 기본 구문을 이해해야 합니다. 정규식 중.
PHP에서는 preg_match 함수를 사용하여 정규식 일치를 구현합니다. 이 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 일치시킬 정규식이고 두 번째 매개변수는 일치시킬 문자열입니다. 일치에 성공하면 함수는 1을 반환하고 그렇지 않으면 0을 반환합니다.
ID 번호를 확인하는 정규식은 다음과 같습니다.
/^(d{6})(19|20)(d{2})([01]d)([0123]d)(d{3})(d|X)$/i
정규식의 의미는 다음과 같습니다.
/^:表示正则表达式的起始位置。 (d{6}):表示前6位数字是身份证的地区编码。 (19|20):表示身份证的出生年份必须是19或20开头。 (d{2}):表示身份证的出生月份,为两位数字。 ([01]d):表示身份证的出生日,为01-31之间的数字。由于月份和天数可能不是两位数,因此需要使用[01]d的形式,只要保证第一位是0或1就行了。 ([0123]d):表示身份证的出生年份,为01-12之间的数字。 (d{3}):表示身份证的顺序码,由三位数字组成。 (d|X):表示身份证的校验码,只能是数字或字母X。 $/i:表示正则表达式的结束位置。
다음은 PHP 코드 예입니다.
function check_id_card($id_card){ $preg = "/^(d{6})(19|20)(d{2})([01]d)([0123]d)(d{3})(d|X)$/i"; if(preg_match($preg, $id_card)){ return true; }else{ return false; } }
이 함수는 $id_card 매개변수를 허용합니다. 확인할 ID 번호를 나타냅니다. preg_match 함수와 위의 정규식을 사용하여 일치를 수행하면 함수는 true를 반환하고, 그렇지 않으면 false를 반환합니다.
위는 정규식을 사용하여 ID 번호의 형식을 확인하는 방법입니다. 웹 애플리케이션을 개발할 때 이 함수를 공용 함수 라이브러리에 캡슐화하여 여러 페이지에서 쉽게 호출할 수 있습니다. 이는 개발 효율성을 향상시키고 웹 애플리케이션의 보안을 보장할 수 있습니다.
위 내용은 ID 번호의 형식을 확인하는 PHP 정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!