js身份證號碼_身份證號碼js驗證

來源:互聯網
上載者:User
關鍵字 網頁製作 Ajax JavaScript

網頁特效身份證號碼_身份證號碼js驗證

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "HTTP://www.w3.org/tr/xhtml1/dtd/ xhtml1-transitional.dtd">
<html xmlns="HTTP://www.w3.org/1999/xhtml">
<head>
<meta HTTP-equiv="content-type" content="text/html; charset=gb2312" />
<title>js身份證號碼_身份證號碼js驗證</title>

&lt;script type="text/網頁特效"&gt;


//alert(isidcardno("440781197007220512"));


if(isidcardno("440781197007220512")){


alert("錯誤的身份證號碼! ");


}


//--身份證號碼驗證-支援新的帶x身份證


function isidcardno(num)


{


    var factorarr = new array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);


    var error;


    var vararray = new array();


    var intvalue;


    var lngproduct = 0;


var intcheckdigit;


    var intstrlen = num.length;


    var idnumber = num;   


    // initialize


    if ((intstrlen != 15) &amp;&amp; (intstrlen != 18)) {


        error = "輸入身份證號碼長度不對! ";


        alert(error);


        //frmadduser.txtidcard.focus();


        return false;


    }   


    // check and set value


    for(i=0;i&lt;intstrlen;i++) {


        vararray[i] = idnumber.charat(i);


if ((vararray[i] &lt; '0' || vararray[i] &gt; '9') &amp;&amp; (i != 17)) {


            error = "錯誤的身份證號碼!.";


            alert(error);


            //frmadduser.txtidcard.focus();


            return false;


        } else if (i &lt; 17) {


            vararray[i] = vararray[i]*factorarr[i];


        }


    }


    if (intstrlen == 18) {


        //check date


var date8 = idnumber.substring(6,14);


        if (checkdate(date8) == false) {


            //error = "身份證中日期資訊不正確!.";


            //alert(error);


            return false;


        }       


        // calculate the sum of the products


        for(i=0;i&lt;17;i++) {


            lngproduct = lngproduct + vararray[i];


        }       


calculate the check digit


        intcheckdigit = 12 - lngproduct % 11;


        switch (intcheckdigit) {


            case 10:


                intcheckdigit = 'x';


                break;


            case 11:


                intcheckdigit = 0;


                break;


case 12:


                intcheckdigit = 1;


                break;


        }       


        // check last digit


        if (vararray[17].touppercase() != intcheckdigit) {


            //error = "身份證效驗位錯誤!... 正確為: " + intcheckdigit + ".";


            //alert(error);


            return false;


}


    }


    else{        //length is 15


        //check date


        var date6 = idnumber.substring(6,12);


        if (checkdate(date6) == false) {


            //alert("身份證日期資訊有誤!.");


            return false;


        }


    }


    //alert ("correct.");


    return true;


}

function checkdate(date)
{
return true;
}
</script>

ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[ 1-2][0-9]|3[0-1])| (04|06|09|11) (0[1-9]| [1-2] [0-9]|30)|02(0[1-9]|[ 1-2][0-9]))[0-9]{3}$/;//測試出生日期的合法性


ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[ 1-2][0-9]|3[0-1])| (04|06|09|11) (0[1-9]| [1-2] [0-9]|30)|02(0[1-9]|[ 1-2][0-9]))[0-9]{3}[0-9xx]$/;//閏年出生日期的合法性正則運算式
</head>

<body>
</body>
</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.