- 論壇徽章:
- 0
|
寫了幾個身份證方面的函數(shù),個人感覺挺有用的,特別是在網(wǎng)絡(luò)問卷調(diào)查時,對個人信息里的身份證進(jìn)行驗(yàn)證很有用,但是應(yīng)者寥寥,還是收在自己的blog里算了。
// 計算身份證校驗(yàn)碼,根據(jù)國家標(biāo)準(zhǔn)GB 11643-1999
function idcard_verify_number($idcard_base){
if (strlen($idcard_base) != 17){ return false; }
// 加權(quán)因子
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
// 校驗(yàn)碼對應(yīng)值
$verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$checksum = 0;
for ($i = 0; $i
其中的$idcard_base是指身份證中的本位碼,本位碼是18位身份證里才有的,也就是18位身份證的前17位,最后一位稱為校驗(yàn)碼
一般在使用的時候不用直接調(diào)用idcard_verify_number(),平時的應(yīng)用大多是使用后兩個函數(shù)
這些函數(shù)都沒有關(guān)心身份證字符串的格式問題,在調(diào)用前自行進(jìn)行格式檢查
本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u/3708/showart_21165.html |
|