機能
IDカードに関する機能をいくつか書きましたが、特にオンラインアンケートを実施する際に、個人情報の中でIDカードを確認できるのは非常に便利だと感じています。私のブログに残しておきます。
// 国家標準 GB 11643-1999 に従って ID カード検証コードを計算します
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
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
return $verify_number; 15 桁の ID カードを 18 桁にアップグレードしますBit
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, 0, 6); substr($idcard, 6, 9);
$idcard_verify_number($idcard);
}
//18桁のID確認コード有効性チェック
function idcard_checksum18($ idcard ){
if (strlen($idcard) != 18){ return false }
$idcard_base = substr($idcard, 0, 17)if($ idcard_base)! 18 桁の ID カードで、最後の桁は検証コードと呼ばれます。通常、通常のアプリケーションのほとんどは、最後の 2 つの関数を使用します。 ID 文字列の形式を変更し、
を呼び出す前に形式チェックを実行します。