function AppValidate() {
this.isEmail = function(str) {
if (str) {
var reg = /^([a-z0-9A-Z]+[-|\._]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,20}$/;
return reg.test(str);
}
return true;
};
this.isDate = function(str) {
if (str) {
var reg = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/;
return reg.test(str);
}
return true;
};
this.isNumber = function(str) {
if (str) {
var reg = /^[0-9]\d*$/;
return reg.test(str);
}
return true;
}
this.isDoubleNumber = function(str) {
if ($.Validate.isNumber(str)) {
return true;
} else {
var reg = /\d+.\d+/;// /^([0-9]{1,})[\.](\d{1;2})$/;
var r = reg.test(str);
return r;
}
};
this.isPostCode = function(str) {
if (str) {
var reg = /\d{6}$/;
return reg.test(str);
}
return true;
};
// 固话或手机校验
this.isPhone = function(str) {
if (str) {
var reg = /^((13[0-9])|(15[^4,\D])|(18[0-9]))\d{8}$|^((\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1}))$/;
return reg.test(str);
}
return true;
};
// 手机校验
this.isMobile = function(str) { // add by ronizhang 11.8.30
if (str) {
var reg = /^((13[0-9])|(15[0-9])|(18[0-9]))\d{8}$/;
return reg.test(str);
}
return true;
};
// 固话校验
this.isFixPhone = function(str) { // add by ronizhang 11.8.30
if (str) {
var reg = /^((\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1}))$/;
return reg.test(str);
}
return true;
};
// 传真校验
this.isFax = function(str) {
if (str) {
var reg = /^((\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})|(\d{4}|\d{3})(-)?(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})(-)?(\d{4}|\d{3}|\d{2}|\d{1}))$/;
return reg.test(str);
}
return true;
};
// 银行账号
this.isBankAccount = function(str) {
if (str) {
var reg = /^\d{16,30}$/;
return reg.test(str);
}
return true;
};
// 身份证
this.isIdCard = function(str) {
if (str) {
str = str.toUpperCase();
// alert(str);
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。
// if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))
return (/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(str));
}
return true;
};
// 网站地址校验
this.isDomain2 = function(str) {
if (str) {
var regStr = "^((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 reg = new RegExp(regStr);
return reg.test(str);
}
// return true;
};
// 网站地址校验广告组专用
this.isDomain = function(str) {
if (str) {
var regStr = "^((https|http|ftp|rtsp|mms)+://)[^\\s]";
var reg = new RegExp(regStr);
var result = reg.test(str);
return result;
}
};
this.isDoNet = function(str) {
if (str) {
var reg = /^(http(s)?:\/\/)?(www\.)?[\w-]+\.\w{2,4}(\/)?$/;
return reg.test(str);
}
return true;
};
this.isChecked = function(obj) {
if (obj) {
var tag = false;
obj.each(function() {
if ($(this).attr("checked")) {
tag = true;
}
});
return tag;
}
return true;
};
// 不允许包含符号
this.isExcludeDenotationParentheses = function(str) {
if (str) {
var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5()()]{1,50}$/;
return reg.test(str);
}
return true;
};
// 不允许包含符号
this.isExcludeDenotation = function(str) {
if (str) {
var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,50}$/;
return reg.test(str);
}
return true;
};
this.isUserName = function(str) {
if (str) {
var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{2,16}$/;
return reg.test(str);
}
return true;
};
this.isBankArea = function(str) {
if (str) {
var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{2,30}$/;
return reg.test(str);
}
return true;
};
// 银行名称
this.isBankName = function(str) {
if (str) {
var reg = /^[a-zA-Z\u4e00-\u9fa5]{2,16}$/;
return reg.test(str);
}
return true;
};
this.isPassword = function(str) {
if (str) {
var reg = /^[\@A-Za-z0-9\!\#\$\%\^\&\*\.\~]{6,20}$/;
return reg.test(str);
}
return true;
};
this.isPasswordnew = function(str) {
var pattern1 = /^[a-zA-Z]$/;
var pattern2 = /^[0-9]$/;
// var pattern3 = /^[^0-9a-zA-Z]$/;
var isnum = false;
var ischar = false;
// var isext = false;
if (str) {
if (str.length < 6 || str.length > 16) {
return false;
}
for ( var j = 0; j < str.length; j++) {
var rs = str.substr(j, 1);
if (pattern1.test(rs)) {
ischar = true;
}
if (pattern2.test(rs)) {
isnum = true;
}
// if(pattern3.test(rs))
// {
// isext=true;
// }
}
if (ischar && isnum) {
return true;
} else {
return false;
}
}
return true;
};
// 是否只包含字母数字下划线中文空格
this.isCommonName = function(str) {
if (str) {
var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5\s]+$/;
return reg.test(str);
}
return true;
};
// 是否只包含字母数字中划线(存储名称校验)
this.isHiSpaceName = function(str) {
if (str) {
var reg = /^[a-zA-Z]{1}[a-zA-Z0-9-\s]+$/;
return reg.test(str);
}
return true;
};
this.isTitle = function(s) {
var pattern = new RegExp(
"[`~!@#$^&*=|{}':;',\\[\\].<>/?~!@#¥……&*——|{}【】‘;:'。,、?]");
var rs = "";
for ( var i = 0; i < s.length; i++) {
rs = rs + s.substr(i, 1).replace(pattern, '');
}
if ("" == rs) {
return false;
} else if (s.length != rs.length) {
return false;
}
return true;
};
/**
* author liguangyang description 判断字符串是否包含特殊字符、标点符号
*
* @param s:传入的字符串
*/
this.stripscriptAll = function(s) {
var pattern = new RegExp(
"[`~!@#$^&*()=|{}':;'\",\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
var rs = "";
for ( var i = 0; i < s.length; i++) {
rs = rs + s.substr(i, 1).replace(pattern, '');
}
if ("" == rs) {
return false;
} else if (s.length != rs.length) {
return false;
}
return true;
};
this.containJsScript = function(str) {
var retVal = true;
if (str) {
var reg = /^([\s\S]*)((<script(\s)*>)|(<\/script>)|(<script(\s)+([\s\S]*)[^>]>))([\s\S]*)$/;
retVal = reg.test(str);
}
return retVal;
};
// 是否包含json特殊字符
this.containJsonChar = function(str) {
var retVal = false;
if (str) {
var reg = /^.*[&<>\"\':\[\]\{\}]+.*$/;
retVal = reg.test(str);
}
return retVal;
};
/*
* 检查字符串长度 l00192963
*
*/
this.lengthCheck = function(str,up,down){
// console.log(str);
var minl = down || 0;
var maxl = up || 0;
if ((str.length>=minl) && (str.length<=maxl)) {
return true;
}
else {
return false;
}
}
/*
* 检查url合法性 l00192963
*
*/
this.isURL = function(str){
//console.log("charge:#",str,"#");
if (str.length == 0) return false;
var myReg = "^((https|http|ftp|rtsp|mms)://)?[a-z0-9A-Z]{3}\.[a-z0-9A-Z][a-z0-9A-Z]{0,61}?[a-z0-9A-Z]\.com|net|cn|cc (:s[0-9]{1-4})?/$";
var tempReg = new RegExp(myReg);
if (tempReg.test(str) == false) {
return false;
} else {
return true;
}
}
// 检查密码,6~32个字符,包括字母、数字、符号(!@#$%^&*.~)
// q00131198
this.isPasswordOpen = function(str) {
if (str) {
var reg = /^[\@A-Za-z0-9\!\#\$\%\^\&\*\.\~]{6,32}$/;
return reg.test(str);
}
return true;
};
// 手机号校验
// q00131198
this.isMobileOpen = function(str) {
if (str) {
var reg1 = /^((0086)|(\+86))?((13[0-9])|(15[0-9])|(18[0-9]))\d{8}$/;
var reg2 = /^((00)|(\+))\d+$/;
return reg1.test(str) || reg2.test(str);
}
return true;
};
// 网址检验,形如http://www.baidu.com
// q00131198
this.isUrlOpen = function(str) {
if (str) {
var reg = /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/;
return reg.test(str);
}
return true;
};
// 校验短信验证码
this.isPhoneVerCode = function(str) {
if (str) {
return (/^[a-z0-9A-Z]+$/.test(str));
}
return false;
};
// 检查应用包名是否合法。只能包含大小写字母,数字,点及下划线,长度小于200
this.isPgkName = function(str) {
if(!str){
return false;
}
if (str) {
var reg = /^[A-Za-z0-9\_\.]{1,200}$/;
return reg.test(str);
}
return true;
};
// 检查IMEI号,只包含大小写字母,数字,长度小于等于15
this.isIMEI = function(str) {
if(!str){
return false;
}
if (str) {
var reg = /^[A-Za-z0-9]{1,15}$/;
return reg.test(str);
}
return true;
};
}
$.extend({
// 扩展Jquery,增加校验方法
AppValidate : new AppValidate()
});
jQuery扩展的校验方法
最新推荐文章于 2020-02-11 18:44:45 发布