javascript驗(yàn)證完全方法具體實(shí)現(xiàn)
更新時(shí)間:2013年11月18日 15:38:12 投稿:shangke
下面這段代碼完全實(shí)現(xiàn)了判斷是否合格.傳入號(hào)碼就行了,包括了算法,下面的是用Ext實(shí)現(xiàn)的,但是基于javascript的語法居多,基本都可以用
復(fù)制代碼 代碼如下:
var certCardValid = function(id){
var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];
var wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
var Checker = [1,9,8,7,6,5,4,3,2,1,1];
var msg = "";
if(id.length != 15 && id.length != 18) {
Ext.MessageBox.alert("信息提示","號(hào)共有15位或18位。");
return false;
}
var ai = id.length == 18 ? id.substring(0,17) : id.slice(0,6) + "19" + id.slice(6,16);
if (!/^/d+$/.test(ai)) {
Ext.MessageBox.alert("信息提示","除最后一位外,必須為數(shù)字。");
return false;
}
var yyyy = ai.slice(6,10);
var mm = ai.slice(10,12)-1;
var dd = ai.slice(12,14);
var d = new Date(yyyy,mm,dd);
var now = new Date();
var year = d.getFullYear();
var mon = d.getMonth();
var day = d.getDate();
if (year != yyyy || mon != mm || day != dd) {
Ext.MessageBox.alert("信息提示","無效。");
return false;
}
for(var i = 0,ret = 0; i < 17; i++){
ret += ai.charAt(i) * wi[i];
}
ai += arrVerifyCode[ret %= 11];
ai = ai.toUpperCase();
if(id.length == 18 && id != ai){
Ext.MessageBox.alert("信息提示","無效。");
return false;
}
return true;
};
相關(guān)文章
JavaScript鼠標(biāo)移動(dòng)事件以及實(shí)戰(zhàn)案例
在學(xué)習(xí)JS中我對(duì)鼠標(biāo)移動(dòng)事件進(jìn)行了一些總結(jié),需要的可以作參考,下面這篇文章主要給大家介紹了關(guān)于JavaScript鼠標(biāo)移動(dòng)事件以及實(shí)戰(zhàn)案例的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05JavaScript中各種二進(jìn)制對(duì)象關(guān)系的深入講解
JavaScript中用于表示二進(jìn)制對(duì)象有,Blob對(duì)象、和 ArrayBuffer 對(duì)象,這篇文章主要給大家介紹了關(guān)于JavaScript中各種二進(jìn)制對(duì)象關(guān)系的相關(guān)資料,需要的朋友可以參考下2021-09-09JavaScript canvas繪制圓形加載進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了JavaScript canvas繪制圓形加載進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能示例
這篇文章主要介紹了JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能,涉及javascript面向?qū)ο笈c頁面元素動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2016-12-12根據(jù)經(jīng)緯度計(jì)算地球上兩點(diǎn)之間的距離js實(shí)現(xiàn)代碼
最近用到了根據(jù)經(jīng)緯度計(jì)算地球表面兩點(diǎn)間距離的公式,然后就用JS實(shí)現(xiàn)了一下,根據(jù)地球是一個(gè)光滑的球面以及并不是一個(gè)真正的圓球體,而是橢球延伸出兩種方法,感興趣的你可以參考下2013-03-03