> 백엔드 개발 > PHP 튜토리얼 > Office 정품인증 PHP 인증 기능

Office 정품인증 PHP 인증 기능

WBOY
풀어 주다: 2016-07-29 08:40:53
원래의
1046명이 탐색했습니다.

코드 복사 코드는 다음과 같습니다.

// 국가 표준 GB에 따라 신분증 인증 코드를 계산합니다. 11643-1999
function idcard_verify_number($idcard_base){
if (strlen($idcard_base) != 17){ return false }
// 가중치 인자
$factor = array(7, 9 , 10, 5 , 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2)
//인증코드 해당값
$verify_number_list = array(' 1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2')
$checksum = 0;
for ($i = 0; $i < strlen($idcard_base); $i ){
$checksum = substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
return $verify_number;
}
// 15자리 ID 업그레이드 카드를 18자리로
function idcard_15to18($idcard){
if (strlen($idcard) != 15){
return false
}else{
// ID 카드 시퀀스 코드는 996 997 998 999입니다. 이는 100세 이상을 위한 특수 코드입니다
if (array_search(substr($idcard, 12, 3), array('996', '997', '998', '999')) ! == false){
$idcard = substr($idcard, 0, 6) . substr($idcard, 6, 9); $idcard = substr($idcard, 0, 6) .'19'.substr($idcard, 6, 9);
}
}
$idcard .
return $idcard ;
}
//18자리 신분증 인증코드 유효성 검사
function idcard_checksum18($idcard){
if (strlen($idcard) != 18){ return false }
$idcard_base = substr($idcard, 0, 17);
if (idcard_verify_number($idcard_base) != strtoupper(substr($idcard, 17, 1))){
return false;
}else{
return true;
}
}
?>

$idcard_base는 ID 카드의 기본 코드를 나타냅니다. code 는 18자리 신분증 1개, 즉 18자리 신분증 중 앞 17자리만 있고, 마지막 자리를 인증코드라고 합니다

일반적으로 idcard_verify_number()를 호출할 필요는 없습니다. )를 사용할 때 대부분의 일반적인 응용 프로그램은 후자의 두 함수를 사용합니다
이 함수는 ID 문자열의 형식을 고려하지 않고
를 호출하기 전에 형식 확인을 수행합니다.
이상으로 오피스 정품인증 내용을 포함하여 오피스 정품인증 PHP 인증 기능을 소개하였습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿