摘要:銀行卡驗證銀行卡驗證身份證驗證身份證號碼為位或者位,位時全為數(shù)字,位前位為數(shù)字,最后一位是校驗位,可能為數(shù)字或字符。
銀行卡驗證:
/** * 銀行卡驗證 * @param {*string} str */ function isBankCard(str) { var regex = /^(998801|998802|622525|622526|435744|435745|483536|528020|526855|622156|622155|356869|531659|622157|627066|627067|627068|627069)d{10}$/; if (regex.test(str)) { return true; } return false; }
身份證驗證:
function isIdCard (idcard) { if (!idcard) { return false; } var num = idcard.toUpperCase(); //身份證號碼為15位或者18位,15位時全為數(shù)字,18位前17位為數(shù)字,最后一位是校驗位,可能為數(shù)字或字符X。 if (!/(^d{15}$)|(^d{17}([0-9]|X)$)/.test(num)) { // alert("輸入的身份證號長度不對,或者號碼不符合規(guī)定! 15位號碼應(yīng)全為數(shù)字,18位號碼末位可以為數(shù)字或X。"); return false; } //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。 //下面分別分析出生日期和校驗位 var len, re; len = num.length; if (len == 15) { re = new RegExp(/^(d{6})(d{2})(d{2})(d{2})(d{3})$/); var arrSplit = num.match(re); //檢查生日日期是否正確 var dtmBirth = new Date( "19" + arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4] ); var bGoodDay; bGoodDay = dtmBirth.getYear() == Number(arrSplit[2]) && dtmBirth.getMonth() + 1 == Number(arrSplit[3]) && dtmBirth.getDate() == Number(arrSplit[4]); if (!bGoodDay) { // alert("輸入的身份證號里出生日期不對!"); return false; } else { //將15位身份證轉(zhuǎn)成18位 //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。 var arrInt = new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); var arrCh = new Array( "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" ); var nTemp = 0, i; num = num.substr(0, 6) + "19" + num.substr(6, num.length - 6); for (i = 0; i < 17; i++) { nTemp += num.substr(i, 1) * arrInt[i]; } num += arrCh[nTemp % 11]; return true; } } if (len == 18) { re = new RegExp(/^(d{6})(d{4})(d{2})(d{2})(d{3})([0-9]|X)$/); var arrSplit = num.match(re); //檢查生日日期是否正確 var dtmBirth = new Date( arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4] ); var bGoodDay; bGoodDay = dtmBirth.getFullYear() == Number(arrSplit[2]) && dtmBirth.getMonth() + 1 == Number(arrSplit[3]) && dtmBirth.getDate() == Number(arrSplit[4]); if (!bGoodDay) { //alert(dtmBirth.getYear()); //alert(arrSplit[2]); //alert("輸入的身份證號里出生日期不對!"); return false; } else { //檢驗18位身份證的校驗碼是否正確。 //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。 var valnum; var arrInt = new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); var arrCh = new Array( "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" ); var nTemp = 0, i; for (i = 0; i < 17; i++) { nTemp += num.substr(i, 1) * arrInt[i]; } valnum = arrCh[nTemp % 11]; if (valnum != num.substr(17, 1)) { //alert("18位身份證的校驗碼不正確!應(yīng)該為:" + valnum); return false; } return true; } } return false; }
手機(jī)號碼驗證:
//驗證手機(jī)號碼 function isMobile(s) { var regu = /^(13[0-9]|15[0-9]|18[0-9]|147|145|149|170|171|173|175|176|177|178)d{8}$/; if (regu.test(s)) { return true; } else { return false; } }
固話驗證:
//驗證固話 function isTelephone(str) { var myReg = /([0-9]{3,4}-)?[0-9]{7,8}/; if (myReg.test(str)) return true; return false; }
中文文字驗證:
//驗證是否是中文 function isChinese(str) { var regu = "^[u4E00-u9FA5uF900-uFA2D]+$"; var re = new RegExp(regu); if (re.test(str)) { return true; } else { return false; } }
郵箱驗證:
//驗證郵箱 function isEmail(str) { var myReg = /^(w-*.*)+@(w-?)+(.w{2,4})+$/; if (myReg.test(str)) return true; return false; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/82441.html
摘要:接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點。二接口測試用例設(shè)計接口測試的用例設(shè)計是關(guān)鍵,不能只是單純正常請求通過就算接口測試過了,要從業(yè)務(wù)功能性能等上去設(shè)計用例。 ...
摘要:想閱讀更多優(yōu)質(zhì)原創(chuàng)文章請猛戳博客一,跨站腳本攻擊,因為縮寫和重疊,所以只能叫??缯灸_本攻擊是指通過存在安全漏洞的網(wǎng)站注冊用戶的瀏覽器內(nèi)運(yùn)行非法的標(biāo)簽或進(jìn)行的一種攻擊??缯灸_本攻擊有可能造成以下影響利用虛假輸入表單騙取用戶個人信息。 前言 在互聯(lián)網(wǎng)時代,數(shù)據(jù)安全與個人隱私受到了前所未有的挑戰(zhàn),各種新奇的攻擊技術(shù)層出不窮。如何才能更好地保護(hù)我們的數(shù)據(jù)?本文主要側(cè)重于分析幾種常見的攻擊的類型...
摘要:一表單驗證模塊的構(gòu)成任何表單驗證模塊都是由配置校驗報錯取值這幾部分構(gòu)成的。其實我是想寫個指令來完成表單驗證的事的。當(dāng)然表單驗證這種是高度定制化的。 前言 前段時間,老大搭好了Vue的開發(fā)環(huán)境,于是我們愉快地從JQ來到了Vue。這中間做的時候,在表單驗證上做的不開心,看到vue的插件章節(jié),感覺自己也能寫一個,因此就自己開始寫了一個表單驗證插件va.js。 當(dāng)然為什么不找個插件呢? vu...
摘要:示例電話電話錯誤信息指示指令對應(yīng)的表單控件的驗證結(jié)果。其主要是根據(jù)驗證的結(jié)果進(jìn)行的值的變換。如果為空值則默認(rèn)把所有帶有驗證的空間作為需要驗證對象。 cddv vue.js 表單驗證插件使用說明 版本:1.0.8-6 獲取 github:這里 npm安裝 npm i vue-cdd-validator --save yarn安裝 yarn add vue-cdd-validator 安裝...
摘要:好多編輯器例如等都支持這樣的語法來快速的編寫代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計怎樣進(jìn)行 書籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級程序設(shè)計》《JavaScript框架設(shè)計》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語言精粹(修訂版)》《JavaScript設(shè)計模式》《J...
閱讀 905·2021-11-15 11:37
閱讀 3672·2021-11-11 16:55
閱讀 3305·2021-11-11 11:01
閱讀 1026·2019-08-30 15:43
閱讀 2771·2019-08-30 14:12
閱讀 714·2019-08-30 12:58
閱讀 3419·2019-08-29 15:19
閱讀 2059·2019-08-29 13:59