身份證號碼格式檢測

2022-08-23 19:21:15 字數 1022 閱讀 3714

//驗證身份證是否有效

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...