zoukankan      html  css  js  c++  java
  • 正则验证js

    正则验证js

    (function(global, undefind) {
    	//正则验证
    	var verification = {
    		init: function(that) {
    			var arr = [];
    			var thatVal = $(that).val();
    			var thatIhtml = $(that).parent().siblings().find('i');
    			arr.push(thatVal, thatIhtml)
    			//console.log(arrs)
    			return arr;
    		},
    		//为空验证
    		valEmpty: function(that) {
    			if(this.init(that)[0].length == 0) {
    				this.init(that)[1].html('(不能为空)');
    			} else {
    				this.init(that)[1].html('');
    			}
    		},
    		//手机号验证
    		tel_regular: function(that) {
    			this.valEmpty(that);
    			if(this.init(that)[0].length != 0) {
    				var myreg = /^(13[0-9]|15[012356789]|17[0-9]|18[0-9]|14[5678]|19[8-9]|166)[0-9]{8}$/;
    				if(!myreg.test(this.init(that)[0])) {
    					this.init(that)[1].html('(请输入正确的手机号)');
    				} else {
    					this.init(that)[1].html('');
    				}
    			}
    		},
    		////姓名验证
    		name_regular: function(that) {
    			this.valEmpty(that);
    			if(this.init(that)[0].length != 0) {
    				var myreg = /^[a-zA-Z0-9u4e00-u9fa5]{2,500}$/;
    				if(!myreg.test(this.init(that)[0])) {
    					this.init(that)[1].html('(姓名格式不正确)');
    				} else {
    					this.init(that)[1].html('');
    				}
    			}
    		},
    		//证件验证
    		idCard_regular: function(that) {
    			this.valEmpty(that);
    			if(this.init(that)[0].length != 0) {
    				var _p = $(that).parents('p').siblings('.cardType').find('p b').attr('_p');
    				//console.log(_p)
    				if(_p != '') {
    					if(_p == 1) {
    						if(!this.isIDCard(this.init(that)[0])) {
    							this.init(that)[1].html('(身份证格式不正确)');
    						} else {
    							this.init(that)[1].html('');
    						}
    					} else if(_p == 2 || _p == 3) {
    						var myreg = /^((?!-{2,})[0-9a-zA-Z-]){5,20}$/; //护照 
    						if(!myreg.test(this.init(that)[0])) {
    							this.init(that)[1].html('(证件格式不正确)');
    						} else {
    							this.init(that)[1].html('');
    						}
    						//console.log(myreg.test(this.init(that)[0]))
    					}
    				} else {
    					alert('请选择证件类型')
    					return false;
    				}
    			}
    		},
    		//发票抬头
    		Invoices_regular: function(that) {
    			this.valEmpty(that);
    			if(this.init(that)[0].length != 0) {
    				var myreg = /^[0-9a-zA-Z()()u4e00-u9fa5]{0,50}$/;
    				if(!myreg.test(this.init(that)[0])) {
    					this.init(that)[1].html('(发票格式不正确)');
    				} else {
    					this.init(that)[1].html('');
    				}
    			}
    		},
    		//纳税人识别号
    		TaxpayerNum_regular: function(that) {
    			this.valEmpty(that);
    			if(this.init(that)[0].length != 0) {
    				var myreg = /^[0-9a-zA-Z]{15,20}$/;
    				if(!myreg.test(this.init(that)[0])) {
    					this.init(that)[1].html('(纳税人识别号格式不正确)');
    				} else {
    					this.init(that)[1].html('');
    				}
    			}
    		},
    		//console.log(isIDCard('142202199306162879'))
    		////验证身份证
    		isIDCard: function(str) {
    			var City = {
    				11: "u5317u4eac",
    				12: "u5929u6d25",
    				13: "u6cb3u5317",
    				14: "u5c71u897f",
    				15: "u5185u8499u53e4",
    				21: "u8fbdu5b81",
    				22: "u5409u6797",
    				23: "u9ed1u9f99u6c5f ",
    				31: "u4e0au6d77",
    				32: "u6c5fu82cf",
    				33: "u6d59u6c5f",
    				34: "u5b89u5fbd",
    				35: "u798fu5efa",
    				36: "u6c5fu897f",
    				37: "u5c71u4e1c",
    				41: "u6cb3u5357",
    				42: "u6e56u5317 ",
    				43: "u6e56u5357",
    				44: "u5e7fu4e1c",
    				45: "u5e7fu897f",
    				46: "u6d77u5357",
    				50: "u91cdu5e86",
    				51: "u56dbu5ddd",
    				52: "u8d35u5dde",
    				53: "u4e91u5357",
    				54: "u897fu85cf ",
    				61: "u9655u897f",
    				62: "u7518u8083",
    				63: "u9752u6d77",
    				64: "u5b81u590f",
    				65: "u65b0u7586",
    				71: "u53f0u6e7e",
    				81: "u9999u6e2f",
    				82: "u6fb3u95e8",
    				91: "u56fdu5916 "
    			};
    			var iSum = 0;
    			var info = "";
    			str = str.replace("uff38", "X");
    			str = str.replace("x", "X");
    			if(!/^d{17}(d|x)$/i.test(str)) {
    				return false;
    			}
    			str = str.replace(/x$/i, "a");
    			if(City[parseInt(str.substr(0, 2))] == null) {
    				return false;
    			}
    			sBirthday = str.substr(6, 4) + "-" + Number(str.substr(10, 2)) + "-" + Number(str.substr(12, 2));
    			var d = new Date(sBirthday.replace(/-/g, "/"));
    			if(sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) {
    				return false;
    			}
    			for(var i = 17; i >= 0; i--) {
    				iSum += (Math.pow(2, i) % 11) * parseInt(str.charAt(17 - i), 11);
    			}
    			if(iSum % 11 != 1) {
    				return false;
    			}
    			return true;
    		}
    	}
    	global.verification = verification;
    
    })(window)
    

      

    <p>
    						<span>姓名<i class="error-red ml5"></i></span> <!--错误信息-->
    						<b><input type="text" placeholder="请填写真实姓名" onblur="verification.name_regular(this)" /></b> <!--调用方法-->
    </p>

      

  • 相关阅读:
    HDU
    【JZOJ1252】【洛谷P5194】天平【搜索】
    【JZOJ1252】【洛谷P5194】天平【搜索】
    【JZOJ3896】战争游戏【割点】
    【JZOJ3896】战争游戏【割点】
    【JZOJ3895】数字对【ST表】
    【JZOJ3895】数字对【ST表】
    【JZOJ3894】改造二叉树【树】【LIS】
    【JZOJ3894】改造二叉树【树】【LIS】
    【洛谷P4014】【网络流24题】分配问题【费用流】
  • 原文地址:https://www.cnblogs.com/yjgbk/p/9336423.html
Copyright © 2011-2022 走看看