js常用验证方法

var common = {
	//验证是否为空
	istrim: function(Val) {
		if($.trim(Val) == "" || $.trim(Val) == null) {
			return false;
		} else {
			return true;
		}
	},
	//中文字符验证
	chinese: function(str) {
		var pattern = /[\u4e00-\u9fa5]/;
		if(pattern.test(str)) {
			return true;
		} else {
			return false;
		}
	},
	//字母数字中文及下划线(一般用于用户名验证)
	wordsNumber_: function(str) {
		var pattern = /[A-Za-z0-9_\-\u4e00-\u9fa5]+/;
		if(pattern.test(str)) {
			return true;
		} else {
			return false;
		}
	},
	//QQ验证
	tencentQQ: function(number) {
		var pattern = /[1-9]([0-9]{5,11})/;
		if(pattern.test(number)) {
			return true;
		} else {
			return false;
		}
	},
	//特殊字符验证
	specialWord: function(str) {
		var pattern = /`~!@#$%^&*()_+-=[]{}\|;:'"<,>.?\//;
		if(pattern.test(str)) {
			return true;
		} else {
			return false;
		}
	},
	//强密码验证(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-16之间)
	strongPassword: function(str) {
		var pattern = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$/;
		if(pattern.test(str)) {
			return true;
		} else {
			return false;
		}
	},
	//验证子网掩码是否正确
	check_mask: function(mask) {
		obj = mask;
		var exp = /^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/;
		var reg = obj.match(exp);
		if(reg == null) {
			return false; //"非法"
		}
		var tempArr = obj.split('.')
		if(tempArr.length > 4) {
			alert("子网掩码不合法!");
			return false;
		}
		if(tempArr[2] == 0) {
			var isNum = /^[0-9]*$/;
			if(!isNum.test(tempArr[3])) {
				return false;
			}
		}
		return true;
	},
	//验证端口号
	check_port: function(port) {
		if(port < 0 || port > 65535) {
			return false;
		} else {
			return true;
		}
	},
	//ip地址验证
	check_ip: function(ip) {
		obj = ip;
		var exp = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
		var reg = obj.match(exp);
		if(reg == null) {
			return false; //不合法
		} else {
			return true; //合法
		}
	},
	//判断是否是IE
	isBrowerIE: function() {
		var tmp = document.documentMode;
		var isIE;
		try {
			document.documentMode = "";
		} catch(e) {};

		isIE = typeof document.documentMode == "number" || eval("/*@cc_on!@*/!1");
		try {
			document.documentMode = tmp;
		} catch(e) {};
		return isIE;
	},
	//是否为数字
	isNumber: function(value) {
		var reg = /^[0-9][0-9_]*$/;
		var isTrue = true;
		if(!reg.test(value)) {
			isTrue = false;
		}
		if(value == "") {
			isTrue = false;
		}
		if(isNaN(value)) {
			isTrue = false;
		}
		return isTrue;
	},
	isUrl: function(str_url) {
		var strRegex = "^((https|http|ftp|rtsp|mms)?://)" +
			"?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
			+
			"(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
			+
			"|" // 允许IP和DOMAIN(域名)
			+
			"([0-9a-z_!~*'()-]+\.)*" // 域名- www.
			+
			"([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
			+
			"[a-z]{2,6})" // first level domain- .com or .museum
			+
			"(:[0-9]{1,4})?" // 端口- :80
			+
			"((/?)|" // a slash isn't required if there is no file name
			+
			"(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
		var re = new RegExp(strRegex);
		//re.test()
		if(re.test(str_url)) {
			return(true);
		} else {
			return(false);
		}
	}
	//日期格式验证 2016-01-01这种格式
	dataFormat: function(str) {
		var pattern = /^[1-9]{1}\d{3}-[0-1]{1}\d{0,1}-[0-1]{1}\d{0,1}/;
		if(pattern.test(str)) {
			return true;
		} else {
			return false;
		}
	},
	//验证邮箱
	checkEmail: function(Val) {
		var RexEmail = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/;
		if(RexEmail.test(Val)) {
			return true;
		} else {
			return false;
		}
	},
	//验证手机号码和座机号码
	checkMobile: function(Val) {
		var RexPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
		var RexMob = /^((\+?86)|(\(\+86\)))?(13[012356789][0-9]{8}|15[012356789][0-9]{8}|18[02356789][0-9]{8}|147[0-9]{8}|1349[0-9]{7})$/;
		if(RexPhone.test(Val) || RexMob.test(Val)) {
			return true;
		} else {
			return false;
		}
	},
	//验证大于等于0的正整数
	checkNumInt: function(Val) {
		var Rexnum = /^[0-9]\d*$/;
		if(Rexnum.test(Val)) {
			return true;
		} else {
			return false;
		}
	},
	//验证大于等于0的数字(最多可保留两位小数)
	checkNunFloat: function(Val) {
		var RexNumFloat = /^(([1-9]\d*)|0)(\.\d{1,2})?$/;
		if(RexNumFloat.test(Val)) {
			return true;
		} else {
			return false;
		}
	},
	//判断浏览器类型
	browserType: function() {
		var userAgent = window.navigator.userAgent; //获取浏览器
		var isOpera = userAgent.indexOf("Opera") > -1;
		if(userAgent.indexOf("Opera") > -1) {
			return "Opera"
		}; //判断是否Opera浏览器
		if(userAgent.indexOf("Firefox") > -1) {
			return "FireFox";
		} //判断是否Firefox浏览器
		if(userAgent.indexOf("Chrome") > -1) {
			return "Chrome";
		}
		if(userAgent.indexOf("Safari") > -1) {
			return "Safari";
		} //判断是否Safari浏览器
		if(userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
			return "IE";
		}; //判断是否IE浏览器
	},
	//判断终端类型(手机端、PC端)
	terminalType: function() {
		var userAgent = window.navigator.userAgent; //获取浏览器
		if(userAgent.indexOf("Android") > -1) {
			return "Android"
		}; //判断是否安卓手机
		if(userAgent.indexOf("iPhone") > -1) {
			return "iPhone";
		} //判断是是否苹果手机
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值