ホームページ >バックエンド開発 >PHPチュートリアル >PHP 認証関数_PHP チュートリアル

PHP 認証関数_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:44:161050ブラウズ

コードをコピーします コードは次のとおりです:
// 国家標準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 $checksum + = substr($idcard_base , $i, 1) * $factor[$i];
$mod = $checksum % 11;
return $verify_number; / 15 桁の ID を置き換えます 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) .substr($idcard, 6, 9);
$idcard = $idcard_number($idcard);
// 18 桁の ID 検証コードの有効性チェック
function idcard_checksum18($ idcard){
if (strlen($idcard) != 18){ return false; }
$idcard_base = substr($idcard, 0, 17); != strtoupper(substr($idcard , 17, 1)){
return false;
}else{
}
}
?> ここで、$idcard_base は ID カードの標準コードを指します。 、標準コードは 18 桁の ID カードです。これは 、つまり 18 桁の ID カードの最初の 17 桁のみにあり、最後の桁は認証コードと呼ばれます。通常は必要ありません。 idcard_verify_number() を使用する場合は、直接呼び出してください。通常のアプリケーションのほとんどは、これらの関数を使用します。ID 文字列の形式は誰も気にせず、呼び出す前に形式をチェックします




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

www.bkjia.com

tru​​e

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

技術記事

次のようにコードをコピーします: ?php // 国家標準 GB 11643-1999 に従って ID カード検証コードを計算します function idcard_verify_number($idcard_base){ if (strlen($idcard_base) != 17){ return f...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。