office正版驗證 PHP 驗證方面的函數

WBOY
發布: 2016-07-29 08:40:53
原創
1002 人瀏覽過

複製代碼 代碼如下:

// 計算身分證校驗碼,依照國家標準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 $checksum += substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
return $verify_number;
}
// 將15位元身分證升級到18位元。 🎜>function idcard_15to18($idcard){
if (strlen($idcard) != 15){
return false;
}else{
// 如果身分證是996 順序碼是996 順序碼是996 順序碼9998 999,這些是為百歲以上老人的特殊編碼
if (array_search(substr($idcard, 12, 3), array('996', '997', '998', '999')) != = false){
$idcard = substr($idcard, 0, 6) . '18'. substr($idcard, 6, 9);
}else{
$idcard = substr($idcard , 0, 6) . '19'. substr($idcard, 6, 9);
}
}
$idcard = $idcard . idcard_verify_number($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 falsese;
} else{
return true;
}
}
?>

其中的$idcard_base是指身分證中的本位碼,本位碼是18位元身分證裡才有的,也就是18位身分證的前17位,最後一位稱為校驗碼

一般在使用的時候不用直接呼叫idcard_verify_number(),平時的應用大多是使用後兩個函數
這些函數都沒有關心身分證字串的格式問題,在呼叫前自行進行格式檢查

以上就介紹了office正版驗證 PHP 身份驗證方面的函數,包括了office正版驗證方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!