銀行卡驗證:javascript
/** * 銀行卡驗證 * @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; }
身份證驗證:java
function isIdCard (idcard) { if (!idcard) { return false; } var num = idcard.toUpperCase(); //身份證號碼爲15位或者18位,15位時全爲數字,18位前17位爲數字,最後一位是校驗位,可能爲數字或字符X。 if (!/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)) { // alert('輸入的身份證號長度不對,或者號碼不符合規定!\n15位號碼應全爲數字,18位號碼末位能夠爲數字或X。'); return false; } //校驗位按照ISO 7064:1983.MOD 11-2的規定生成,X能夠認爲是數字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位身份證轉成18位 //校驗位按照ISO 7064:1983.MOD 11-2的規定生成,X能夠認爲是數字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的規定生成,X能夠認爲是數字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位身份證的校驗碼不正確!應該爲:' + valnum); return false; } return true; } } return false; }
手機號碼驗證:code
//驗證手機號碼 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; } }
固話驗證:ip
//驗證固話 function isTelephone(str) { var myReg = /([0-9]{3,4}-)?[0-9]{7,8}/; if (myReg.test(str)) return true; return false; }
中文文字驗證:get
//驗證是不是中文 function isChinese(str) { var regu = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$"; var re = new RegExp(regu); if (re.test(str)) { return true; } else { return false; } }
郵箱驗證:string
//驗證郵箱 function isEmail(str) { var myReg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,4})+$/; if (myReg.test(str)) return true; return false; }