注意:站長關於此篇文章有新發表,你應該轉閱此文章【身份證驗證程式 for PHP (精簡版)

最近需要寫到身份證字號驗證,參考相關網站介紹的規則,所試著也以PHP來寫看看這個函式。

//**************
// 身份證檢查
//**************
function checkNick($id){
    //建立字母分數陣列
    $head = array('A'=>1,'I'=>39,'O'=>48,'B'=>10,'C'=>19,'D'=>28,
                  'E'=>37,'F'=>46,'G'=>55,'H'=>64,'J'=>73,'K'=>82,
                  'L'=>2,'M'=>11,'N'=>20,'P'=>29,'Q'=>38,'R'=>47,
                  'S'=>56,'T'=>65,'U'=>74,'V'=>83,'W'=>21,'X'=>3,
                  'Y'=>12,'Z'=>30);
    //建立加權基數陣列
    $multiply = array(8,7,6,5,4,3,2,1);
    //檢查身份字格式是否正確
    if (ereg("^[a-zA-Z][1-2][0-9]+$",$id) && strlen($id) == 10){
        //切開字串
        $len = strlen($id);
        for($i=0; $i

接著是產生器

//***************
// 身份證產生
//***************
function getRandID(){
    //建立字母分數陣列
    $headPoint = array('A'=>1,'I'=>39,'O'=>48,'B'=>10,'C'=>19,'D'=>28,
                       'E'=>37,'F'=>46,'G'=>55,'H'=>64,'J'=>73,'K'=>82,
                       'L'=>2,'M'=>11,'N'=>20,'P'=>29,'Q'=>38,'R'=>47,
                       'S'=>56,'T'=>65,'U'=>74,'V'=>83,'W'=>21,'X'=>3,
                       'Y'=>12,'Z'=>30);
    //建立加權基數陣列
    $multiply = array(8,7,6,5,4,3,2,1);
    //取得隨機數字
    $number = mt_rand(1,2);
    for($i=0 ;$i
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 低溫烘培 的頭像
    低溫烘培

    ::SANKAI::

    低溫烘培 發表在 痞客邦 留言(4) 人氣()