ホームページ >バックエンド開発 >PHPチュートリアル >PHPで書かれたIDカード認証プログラム_PHPチュートリアル

PHPで書かれたIDカード認証プログラム_PHPチュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-13 17:21:34865ブラウズ

IDカードに関する機能をいくつか書きましたが、特にオンラインアンケートを行う際に個人情報のIDカードを確認できるのは非常に便利だと思います。私のブログに残しておきます。

<?php
//国家標準GB 11643-1999に従ってIDカード検証コードを計算する
function idcard_verify_number($idcard_base){
if (strlen($idcard_base) != 17){ return false }
// 重み付け; function
$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 $checksum += substr($idcard_base, $i, 1) * $factor[ $i ];
}

$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];

return $verify_number;
function idcard_15to18 ($idcard){
if (strlen($idcard) != 15){
return false;
}else{
} // ID カードのシーケンス コードが 996 997 998 999 の場合、これらは 100 歳以上の人にとって特別ですold Encoding
if (array_search(substr($idcard, 12, 3), array('996', '997', '998', '999')) !== false){
$idcard = substr($idcard , 0, 6) .substr($idcard, 6, 9);
}else{ $idcard = substr($idcard, 6, 9) 。 ) ;
}
}

$idcard = $idcard_verify_number($idcard);

return $idcard;

//18桁のID確認コード有効性チェック
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 カードの標準コードを参照します。標準コードは 18 桁の ID カードにのみ存在します。 18 桁の ID カードの最初の 17 桁であり、最後の桁は検証コードと呼ばれます
一般に、通常のアプリケーションのほとんどは、後の 2 つの関数を使用するときに idcard_verify_number() を直接呼び出す必要はありません。これらの関数は ID カードの文字を考慮しません。文字列の形式に問題がある場合は、呼び出す前に自分で形式を確認してください。





http://www.bkjia.com/PHPjc/532419.html
www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/532419.html技術記事 IDカードに関する機能をいくつか書きましたが、特にオンラインアンケートを実施する際に個人情報のIDカードを認証するのに非常に便利ですが、応募者が少ないです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。