- 論壇徽章:
- 0
|
寫(xiě)了幾個(gè)身份證方面的函數(shù),個(gè)人感覺(jué)挺有用的,特別是在網(wǎng)絡(luò)問(wèn)卷調(diào)查時(shí),對(duì)個(gè)人信息里的身份證進(jìn)行驗(yàn)證很有用,但是應(yīng)者寥寥,還是收在自己的blog里算了。
// 計(jì)算身份證校驗(yàn)碼,根據(jù)國(guó)家標(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)碼對(duì)應(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)碼
一般在使用的時(shí)候不用直接調(diào)用idcard_verify_number(),平時(shí)的應(yīng)用大多是使用后兩個(gè)函數(shù)
這些函數(shù)都沒(méi)有關(guān)心身份證字符串的格式問(wèn)題,在調(diào)用前自行進(jìn)行格式檢查
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/3708/showart_21165.html |
|