国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

Javascript驗(yàn)證方法大全

2019-11-20 11:32:33
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文整理了關(guān)于Javascript表單驗(yàn)證的所有涉及到的,大家仔細(xì)閱讀一定會(huì)有所收獲的 

//驗(yàn)證字符串非空 var Validator = {   VerityLib: {        IsNotEmpty: function (input) {       if (input != '') {         return true;       } else {         return false;       }     },  //驗(yàn)證數(shù)字(double類型) [可以包含負(fù)號(hào)和小數(shù)點(diǎn)]     IsNumber: function (input) {       var regex = /^-?/d+$|^(-?/d+)(/./d+)?$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證整數(shù)     IsInteger: function (input) {       var regex = /^-?/d+$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     }, //驗(yàn)證非負(fù)整數(shù)     IsIntegerNotNagtive: function (input) {       var regex = /^/d+$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證正整數(shù)     IsIntegerPositive: function (input) {       var regex = /^[0-9]*[1-9][0-9]*$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證小數(shù)     IsDecimal: function (input) {       var regex = /^([-+]?[1-9]/d*/./d+|-?0/./d*[1-9]/d*)$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },    //驗(yàn)證只包含英文字母     IsEnglishCharacter: function (input) {       var regex = /^[A-Za-z]+$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證只包含數(shù)字和英文字母     IsIntegerAndEnglishCharacter: function (input) {       var regex = /^[0-9A-Za-z]+$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證只包含漢字     IsChineseCharacter: function (input) {       var regex = /^[/u4e00-/u9fa5]+$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證數(shù)字長(zhǎng)度范圍(數(shù)字前端的0計(jì)長(zhǎng)度)[若要驗(yàn)證固定長(zhǎng)度,可傳入相同的兩個(gè)長(zhǎng)度數(shù)值]     IsIntegerLength: function (input, lengthBegin, lengthEnd) {       var pattern = '^//d{' + lengthBegin + ',' + lengthEnd + '}$';       var regex = new RegExp(pattern);       if (input.match(regex)) {         return true;       } else {         return false;       }     }, //驗(yàn)證字符串包含內(nèi)容     IsStringInclude: function (input, withEnglishCharacter, withNumber, withChineseCharacter) {       if (!Boolean(withEnglishCharacter) && !Boolean(withNumber) && !Boolean(withChineseCharacter)) {         return false; //如果英文字母、數(shù)字和漢字都沒(méi)有,則返回false       }       var pattern = '^[';       if (Boolean(withEnglishCharacter)) {         pattern += 'a-zA-Z';       }       if (Boolean(withNumber)) {         pattern += '0-9';       }       if (Boolean(withChineseCharacter)) {         pattern += '//u4E00-//u9FA5';       }       pattern += ']+$';       var regex = new RegExp(pattern);       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證字符串長(zhǎng)度范圍 [若要驗(yàn)證固定長(zhǎng)度,可傳入相同的兩個(gè)長(zhǎng)度數(shù)值]     IsStringLength: function (input, LengthBegin, LengthEnd) {       var pattern = '^.{' + lengthBegin + ',' + lengthEnd + '}$';       var regex = new RegExp(pattern);       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證字符串長(zhǎng)度范圍(字符串內(nèi)只包含數(shù)字和/或英文字母)[若要驗(yàn)證固定長(zhǎng)度,可傳入相同的兩個(gè)長(zhǎng)度數(shù)值]     IsStringLengthOnlyNumberAndEnglishCharacter: function (input, LengthBegin, LengthEnd) {       var pattern = '^[0-9a-zA-z]{' + lengthBegin + ',' + lengthEnd + '}$';       var regex = new RegExp(pattern);       if (input.match(regex)) {         return true;       } else {         return false;       }     },  //驗(yàn)證字符串長(zhǎng)度范圍 [若要驗(yàn)證固定長(zhǎng)度,可傳入相同的兩個(gè)長(zhǎng)度數(shù)值]     IsStringLengthByInclude: function (input, withEnglishCharacter, withNumber, withChineseCharacter, lengthBegin, lengthEnd) {       if (!withEnglishCharacter && !withNumber && !withChineseCharacter) {         return false; //如果英文字母、數(shù)字和漢字都沒(méi)有,則返回false       }       var pattern = '^[';       if (Boolean(withEnglishCharacter))         pattern += 'a-zA-Z';       if (Boolean(withNumber))         pattern += '0-9';       if (Boolean(withChineseCharacter))         pattern += '//u4E00-//u9FA5';       pattern += ']{' + lengthBegin + ',' + lengthEnd + '}$';       var regex = new RegExp(pattern);       if (input.match(regex)) {         return true;       } else {         return false;       }     }, //驗(yàn)證字符串字節(jié)數(shù)長(zhǎng)度范圍 [若要驗(yàn)證固定長(zhǎng)度,可傳入相同的兩個(gè)長(zhǎng)度數(shù)值;每個(gè)漢字為兩個(gè)字節(jié)長(zhǎng)度]     IsStringByteLength: function (input, lengthBegin, lengthEnd) {       var regex = /[^/x00-/xff]/g;       var byteLength = input.replace(regex, 'ok').length;       if (byteLength >= lengthBegin && byteLength <= lengthEnd) {         return true;       } else {         return false;       }     },  //驗(yàn)證日期 [只能驗(yàn)證日期,不能驗(yàn)證時(shí)間]     IsDateTime: function (input) {       if (Date.parse(input)) {         return true;       } else {         return false;       }     },     //驗(yàn)證固定電話號(hào)碼 [3位或4位區(qū)號(hào);區(qū)號(hào)可以用小括號(hào)括起來(lái);區(qū)號(hào)可以省略;區(qū)號(hào)與本地號(hào)間可以用減號(hào)或空格隔開;可以有3位數(shù)的分機(jī)號(hào),分機(jī)號(hào)前要加減號(hào)]     IsTelePhoneNumber: function (input) {       var regex = /^(((0/d2|0/d{2})[- ]?)?/d{8}|((0/d3|0/d{3})[- ]?)?/d{7})(-/d{3})?$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },      //驗(yàn)證手機(jī)號(hào)碼 [可匹配"(+86)013325656352",括號(hào)可以省略,+號(hào)可以省略,(+86)可以省略,11位手機(jī)號(hào)前的0可以省略;11位手機(jī)號(hào)第二位數(shù)可以是3、4、5、8中的任意一個(gè)]     IsMobilePhoneNumber: function (input) {       var regex = /^((/+)?86|((/+)?86)?)0?1[3458]/d{9}$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },      //驗(yàn)證電話號(hào)碼(可以是固定電話號(hào)碼或手機(jī)號(hào)碼)     IsPhoneNumber: function (input) {       var regex = /^((/+)?86|((/+)?86)?)0?1[3458]/d{9}$|^(((0/d2|0/d{2})[- ]?)?/d{8}|((0/d3|0/d{3})[- ]?)?/d{7})(-/d{3})?$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },      //驗(yàn)證郵政編碼     IsZipCode: function (input) {       var regex = /^/d{6}$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },      //驗(yàn)證電子郵箱 [@字符前可以包含字母、數(shù)字、下劃線和點(diǎn)號(hào);@字符后可以包含字母、數(shù)字、下劃線和點(diǎn)號(hào);@字符后至少包含一個(gè)點(diǎn)號(hào)且點(diǎn)號(hào)不能是最后一個(gè)字符;最后一個(gè)點(diǎn)號(hào)后只能是字母或數(shù)字]     IsEmail: function (input) {       ////郵箱名以數(shù)字或字母開頭;郵箱名可由字母、數(shù)字、點(diǎn)號(hào)、減號(hào)、下劃線組成;郵箱名(@前的字符)長(zhǎng)度為3~18個(gè)字符;郵箱名不能以點(diǎn)號(hào)、減號(hào)或下劃線結(jié)尾;不能出現(xiàn)連續(xù)兩個(gè)或兩個(gè)以上的點(diǎn)號(hào)、減號(hào)。       //var regex = /^[a-zA-Z0-9]((?<!(/./.|--))[a-zA-Z0-9/._-]){1,16}[a-zA-Z0-9]@([0-9a-zA-Z][0-9a-zA-Z-]{0,62}/.)+([0-9a-zA-Z][0-9a-zA-Z-]{0,62})/.?|((25[0-5]|2[0-4]/d|[01]?/d/d?)/.){3}(25[0-5]|2[0-4]/d|[01]?/d/d?)$/;       var regex = /^([/w-/.]+)@([/w-/.]+)(/.[a-zA-Z0-9]+)$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },      //驗(yàn)證網(wǎng)址(可以匹配IPv4地址但沒(méi)對(duì)IPv4地址進(jìn)行格式驗(yàn)證;IPv6暫時(shí)沒(méi)做匹配)[允許省略"://";可以添加端口號(hào);允許層級(jí);允許傳參;域名中至少一個(gè)點(diǎn)號(hào)且此點(diǎn)號(hào)前要有內(nèi)容]     IsURL: function (input) {       ////每級(jí)域名由字母、數(shù)字和減號(hào)構(gòu)成(第一個(gè)字母不能是減號(hào)),不區(qū)分大小寫,單個(gè)域長(zhǎng)度不超過(guò)63,完整的域名全長(zhǎng)不超過(guò)256個(gè)字符。在DNS系統(tǒng)中,全名是以一個(gè)點(diǎn)“.”來(lái)結(jié)束的,例如“www.nit.edu.cn.”。沒(méi)有最后的那個(gè)點(diǎn)則表示一個(gè)相對(duì)地址。        ////沒(méi)有例如"http://"的前綴,沒(méi)有傳參的匹配       //var regex = /^([0-9a-zA-Z][0-9a-zA-Z-]{0,62}/.)+([0-9a-zA-Z][0-9a-zA-Z-]{0,62})/.?$/;        //var regex = /^(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://)|(www/.))+(([a-zA-Z0-9/._-]+/.[a-zA-Z]{2,6})|([0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}))(/[a-zA-Z0-9/&%_/./-~-]*)?$/;       var regex = /^([a-zA-Z]+:////)?([/w-/.]+)(/.[a-zA-Z0-9]+)(:/d{0,5})?//?([/w-//]*)/.?([a-zA-Z]*)/??(([/w-]*=[/w%]*&?)*)$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },      //驗(yàn)證IPv4地址 [第一位和最后一位數(shù)字不能是0或255;允許用0補(bǔ)位]     IsIPv4: function (input) {       var regex = /^(25[0-4]|2[0-4]/d]|[01]?/d{2}|[1-9])/.(25[0-5]|2[0-4]/d]|[01]?/d?/d)/.(25[0-5]|2[0-4]/d]|[01]?/d?/d)/.(25[0-4]|2[0-4]/d]|[01]?/d{2}|[1-9])$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },      //驗(yàn)證IPv6地址 [可用于匹配任何一個(gè)合法的IPv6地址]     IsIPv6: function (input) {       var regex = /^/s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)(/.(25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)(/.(25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)(/.(25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)(/.(25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)(/.(25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)(/.(25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)(/.(25[0-5]|2[0-4]/d|1/d/d|[1-9]?/d)){3}))|:)))(%.+)?/s*$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },      //驗(yàn)證身份證號(hào) [可驗(yàn)證一代或二代身份證]     IsIDCard: function (input) {       input = input.toUpperCase();       //驗(yàn)證身份證號(hào)碼格式 [一代身份證號(hào)碼為15位的數(shù)字;二代身份證號(hào)碼為18位的數(shù)字或17位的數(shù)字加字母X]       if (!(/(^/d{15}$)|(^/d{17}([0-9]|X)$)/i.test(input))) {         return false;       }       //驗(yàn)證省份       var arrCity = { 11: '北京', 12: '天津', 13: '河北', 14: '山西', 15: '內(nèi)蒙古', 21: '遼寧', 22: '吉林', 23: '黑龍江 ', 31: '上海', 32: '江蘇', 33: '浙江', 34: '安徽', 35: '福建', 36: '江西', 37: '山東', 41: '河南', 42: '湖北', 43: '湖南', 44: '廣東', 45: '廣西', 46: '海南', 50: '重慶', 51: '四川', 52: '貴州', 53: '云南', 54: '西藏', 61: '陜西', 62: '甘肅', 63: '青海', 64: '寧夏', 65: '新疆', 71: '臺(tái)灣', 81: '香港', 82: '澳門', 91: '國(guó)外' };       if (arrCity[parseInt(input.substr(0, 2))] == null) {         return false;       }       //驗(yàn)證出生日期       var regBirth, birthSplit, birth;       var len = input.length;       if (len == 15) {         regBirth = new RegExp(/^(/d{6})(/d{2})(/d{2})(/d{2})(/d{3})$/);         birthSplit = input.match(regBirth);         birth = new Date('19' + birthSplit[2] + '/' + birthSplit[3] + '/' + birthSplit[4]);         if (!(birth.getYear() == Number(birthSplit[2]) && (birth.getMonth() + 1) == Number(birthSplit[3]) && birth.getDate() == Number(birthSplit[4]))) {           return false;         }         return true;       }       else if (len == 18) {         regBirth = new RegExp(/^(/d{6})(/d{4})(/d{2})(/d{2})(/d{3})([0-9]|X)$/i);         birthSplit = input.match(regBirth);         birth = new Date(birthSplit[2] + '/' + birthSplit[3] + '/' + birthSplit[4]);         if (!(birth.getFullYear() == Number(birthSplit[2]) && (birth.getMonth() + 1) == Number(birthSplit[3]) && birth.getDate() == Number(birthSplit[4]))) {           return false;         }         //驗(yàn)證校驗(yàn)碼         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 += input.substr(i, 1) * arrInt[i];         }         valnum = arrCh[nTemp % 11];         if (valnum != input.substr(17, 1)) {           return false;         }         return true;       }       return false;     },      //驗(yàn)證經(jīng)度     IsLongitude: function (input) {       var regex = /^[-/+]?((1[0-7]/d{1}|0?/d{1,2})/./d{1,5}|180/.0{1,5})$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     },     //驗(yàn)證緯度     IsLatitude: function (input) {       var regex = /^[-/+]?([0-8]?/d{1}/./d{1,5}|90/.0{1,5})$/;       if (input.match(regex)) {         return true;       } else {         return false;       }     }   } } 

這次整理的很全面,很詳細(xì),希望可以真正的幫助到大家。對(duì)大家熟練掌握J(rèn)avascript更有幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德清县| 美姑县| 绿春县| 临洮县| 巨鹿县| 扶余县| 康平县| 扶余县| 松潘县| 横峰县| 稷山县| 竹溪县| 尖扎县| 辽源市| 正阳县| 天全县| 府谷县| 同仁县| 上思县| 来宾市| 西峡县| 三门县| 滦平县| 辰溪县| 南漳县| 沧源| 色达县| 乌拉特前旗| 泗阳县| 福海县| 罗平县| 醴陵市| 镇雄县| 西乌珠穆沁旗| 永平县| 固原市| 泾源县| 内乡县| 鄂尔多斯市| 泗洪县| 靖边县|