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