//驗證身份證是否有效
function validateidcard($idcard) elseif ((strlen($idcard) == 15)) else
}//計算身份證的最後一位驗證碼,根據國家標準gb 11643-1999
function calcidcardcode($idcardbody)
//加權因子
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
//校驗碼對應值
$code = array('1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2');
$checksum = 0;
for ($i = 0; $i < strlen($idcardbody); $i++)
return $code[$checksum % 11];
}// 將15位身份證公升級到18位
function convertidcard15to18($idcard) else else
}$idcard = $idcard . calcidcardcode($idcard);
return $idcard;
}// 18位身份證校驗碼有效性檢查
function check18idcard($idcard)
$idcardbody = substr($idcard, 0, 17); //身份證主體
$idcardcode = strtoupper(substr($idcard, 17, 1)); //身份證最後一位的驗證碼
if (calcidcardcode($idcardbody) != $idcardcode) else
}使用方法:
if(!validateidcard($idnumber))
身份證號碼檢測
華為的上機題 我國公民的身份證號碼特點如下 1 長度為18位 2 第1 17位只能為數字 3 第18位可以是數字或者小寫英文本母x。4 身份證號碼的第7 14位表示持有人生日的年 月 日資訊。例如 511002 19880808 0111或511002 19880808011x。請實現身份證號碼合法...
身份證號碼
每乙個人自出生後都會有乙個身份證號碼。根據我國有關部門規定,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為 六位數字位址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。居民身份證是國家法定的證明公民個人身份的有效證件。例如 對於身份證號碼330719...
身份證號碼格式驗證
from 驗證身份證號碼真偽 param id return bool function checkidcard id d 0 9 x if preg match regx,id return false arr split if 15 strlen id d d d d preg match re...