從盛大通行證上摘下來的身份證驗(yàn)證js代碼
更新時(shí)間:2011年01月11日 23:41:52 作者:
偶然發(fā)現(xiàn)盛大通行證上的身份證驗(yàn)證代碼,特扒下來,方便大家的使用。
復(fù)制代碼 代碼如下:
<script language="javascript" type="text/javascript">
function CheckIdCardField(v_card) {
var reg = /^\d{15}(\d{2}[0-9X])?$/i;
if (!reg.test(v_card)) {
return false;
}
if (v_card.length == 15) {
var n = new Date();
var y = n.getFullYear();
if (parseInt("19" + v_card.substr(6, 2)) < 1900 || parseInt("19" + v_card.substr(6, 2)) > y) {
return false;
}
var birth = "19" + v_card.substr(6, 2) + "-" + v_card.substr(8, 2) + "-" + v_card.substr(10, 2);
if (!isDate(birth)) {
return false;
}
}
if (v_card.length == 18) {
var n = new Date();
var y = n.getFullYear();
if (parseInt(v_card.substr(6, 4)) < 1900 || parseInt(v_card.substr(6, 4)) > y) {
return false;
}
var birth = v_card.substr(6, 4) + "-" + v_card.substr(10, 2) + "-" + v_card.substr(12, 2);
if (!isDate(birth)) {
return false;
}
iW = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);
iSum = 0;
for (i = 0; i < 17; i++) {
iC = v_card.charAt(i);
iVal = parseInt(iC);
iSum += iVal * iW[i];
}
iJYM = iSum % 11;
if (iJYM == 0) sJYM = "1";
else if (iJYM == 1) sJYM = "0";
else if (iJYM == 2) sJYM = "x";
else if (iJYM == 3) sJYM = "9";
else if (iJYM == 4) sJYM = "8";
else if (iJYM == 5) sJYM = "7";
else if (iJYM == 6) sJYM = "6";
else if (iJYM == 7) sJYM = "5";
else if (iJYM == 8) sJYM = "4";
else if (iJYM == 9) sJYM = "3";
else if (iJYM == 10) sJYM = "2";
var cCheck = v_card.charAt(17).toLowerCase();
if (cCheck != sJYM) {
return false;
}
}
return true;
}
</script>
您可能感興趣的文章:
- JS支持帶x身份證號(hào)碼驗(yàn)證函數(shù)
- js判斷輸入是否中文,數(shù)字,身份證等等js函數(shù)集合
- js身份證驗(yàn)證超強(qiáng)腳本
- 通過身份證號(hào)得到出生日期和性別的js代碼
- js 第二代身份證號(hào)碼的驗(yàn)證機(jī)制代碼
- JS驗(yàn)證身份證有效性示例
- js簡單實(shí)現(xiàn)根據(jù)身份證號(hào)碼識(shí)別性別年齡生日
- js實(shí)現(xiàn)身份證號(hào)碼驗(yàn)證的簡單實(shí)例
- js身份證判斷方法支持15位和18位
- js 驗(yàn)證身份證信息有效性
- jsp導(dǎo)出身份證到excel時(shí)候格式不對但以X結(jié)尾的卻可以
- js實(shí)現(xiàn)二代身份證號(hào)碼驗(yàn)證詳解
- js驗(yàn)證真實(shí)姓名與身份證號(hào)是否匹配
- js驗(yàn)證身份證號(hào)有效性并提示對應(yīng)信息
相關(guān)文章
[分享]一個(gè)非常漂亮的進(jìn)度滾動(dòng)條
[分享]一個(gè)非常漂亮的進(jìn)度滾動(dòng)條...2007-02-02Express與NodeJs創(chuàng)建服務(wù)器的兩種方法
本文主要介紹了NodeJs創(chuàng)建Web服務(wù)器;Express創(chuàng)建Web服務(wù)器的兩種方法,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02使用javascript過濾html的字符串(注釋標(biāo)記法)
本篇文章是對使用javascript過濾html的字符串進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07JavaScript中的console.trace()函數(shù)介紹
這篇文章主要介紹了JavaScript中的console.trace()函數(shù)詳細(xì)介紹,console.trace()函數(shù)用來打印函數(shù)調(diào)用的棧信息,需要的朋友可以參考下2014-12-12JS實(shí)現(xiàn)簡單的圖書館享元模式實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)簡單的圖書館享元模式,以一個(gè)圖書館存書借書的例子分析了圖書館享元模式的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06詳解Typescript 內(nèi)置的模塊導(dǎo)入兼容方式
這篇文章主要介紹了詳解Typescript 內(nèi)置的模塊導(dǎo)入兼容方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05