//验证
WebJs.Regexp = {
//email的判断
Ismail: function (mail) {
var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
return reg.test(mail);
// return (new RegExp(/^\w+((-\w+)|(\.\w+))*\-AT-[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
},
//验证身份证
IsIdCardNo: function (num) {
var factorArr = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];
var error,
varArray = [],
intValue,
lngProduct = 0,
intCheckDigit,
intStrLen = num.length,
idNumber = num;
if ((intStrLen != 15) && (intStrLen != 18)) {
return false;
}
for (var i = 0; i < intStrLen; i++) {
varArray = idNumber.charAt(i);
if ((varArray < '0' || varArray > '9') && (i != 17)) {
return false;
} else if (i < 17) {
varArray = varArray * factorArr;
}
}
if (intStrLen == 18) {
var date8 = idNumber.substring(6, 14);
// ReSharper disable UseOfImplicitGlobalInFunctionScope
if (checkDate(date8) == false) {
// ReSharper restore UseOfImplicitGlobalInFunctionScope
return false;
}
for (i = 0; i < 17; i++) {
lngProduct = lngProduct + varArray;
}
intCheckDigit = 12 - lngProduct % 11;
switch (intCheckDigit) {
case 10:
intCheckDigit = 'X';
break;
case 11:
intCheckDigit = 0;
break;
case 12:
intCheckDigit = 1;
break;
}
if (varArray[17].toUpperCase() != intCheckDigit) {
return false;
}
} else {
var date6 = idNumber.substring(6, 12);
// ReSharper disable UseOfImplicitGlobalInFunctionScope
if (checkDate(date6) == false) {
// ReSharper restore UseOfImplicitGlobalInFunctionScope
return false;
}
}
return true;
},
//校验密码:只能输入6-15个字母、数字
IsPasswd: function (s) {
var patrn = /^[a-zA-Z0-9]{6,15}$/;
if (!patrn.exec(s)) return false;
return true;
},
//校验手机号码:必须以数字开头
IsMobile: function (s) {
//00852验证香港区号
var patrn = /^(13[0-9]|15[012356789]|18[0236789]|14[57]|00852)[0-9]{8}$/;
return patrn.test(s);
},
//1-16个中文
IsChinese: function (s) {
var patrn = /^[a-zA-Z\u4E00-\u9FA5]{2,16}$/;
if (!patrn.exec(s)) return false;
return true;
},
//检查email邮箱
IsEmail: function (str) {
var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
//var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
return reg.test(str);
},
//中英文数字下划线1-num个字符
IsAccount: function (str, num) {
var reg;
if (num == 30)
reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,30}$/;
else if (num == 510)
reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,510}$/;
//var reg = /^[a-zA-Z0-9_]{6,16}$/;
return reg.test(str);
},
//检查长度
CheckLength: function checkLength(obj, maxlength) {
if (obj.value.length > maxlength) {
obj.value = obj.value.substring(0, maxlength);
}
},
IsURL: function (strUrl) {
var regular = /^\b(((https?|ftp):\/\/)?[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!\/~%\$]*)?)$/i;
if (regular.test(strUrl)) {
return true;
} else {
return false;
}
},
//判断是否有列表中的危险字符
IsValidReg: function (chars) {
var re = /<|>|\[|\]|\{|\}|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|▼|㊣|﹋|⊕|⊙|〒|ㄅ|ㄆ|ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ|ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ|ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ|■|▄|▆|\*|@|#|\^|\\/;
if (re.test(chars) == true) {
return false;
} else {
return true;
}
}
};
View Code
以上方法均是和项目业务逻辑没有关系的,一般单独放在一个js文件里面,以后方便其他项目使用,一般命名为core.js。
这些代码都是项目经常用到的,一些是借鉴了网上的。