/*******************************************
验证用法:如下
$.Validation("123@qq.com", 1)
$.Length("阿斯蒂芬",8)
*******************************************/
(function ($) {
$.extend({
Validation: function (strs, chkType) {//strs需要验证的字符串,chkType验证方式(基于regArr数组)
var reg = /^\w+([-\.]\w+)*@\w+([\.-]\w+)*\.\w{2,4}$/; //邮箱(默认)
switch (chkType) {
case 1: reg = /^\w+([-\.]\w+)*@\w+([\.-]\w+)*\.\w{2,4}$/; break; //邮箱
case 2: reg = /^[0-9]+\.{0,1}[0-9]{0,2}$/; break; //整数或者小数
case 3: reg = /^[0-9]*$/; break; //只能输入数字
case 4: reg = /^\+?[1-9][0-9]*$/; break; //只能输入非零的正整数
case 5: reg = /^[0-9]+(.[0-9]{2})?$/; break; //只能输入有两位小数的正实数
case 6: reg = /^[A-Za-z]+$/; break; //只能输入由26个英文字母组成的字符串
case 7: reg = /^[A-Z]+$/; break; //只能输入由26个大写英文字母组成的字符串
case 8: reg = /^[a-z]+$/; break; //只能输入由26个小写英文字母组成的字符串
case 9: reg = /^[A-Za-z0-9]+$/; break; //只能输入由数字和26个英文字母组成的字符串
case 10: reg = /^\w+$/; break; //只能输入由数字、26个英文字母或者下划线组成的字符串
case 11: reg = /^[a-zA-Z]\w{5,17}$/; break; //以字母开头,长度在6~18之间,只能包含字符、数字和下划线
case 12: reg = /[^%&,;=?$\\x22]+/; break; //验证是否含有^%&,;=?$\"等字符
case 13: reg = /^[\u4e00-\u9fa5]{0,}$/; break; //只能输入汉字
case 14: reg = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+\..+$/; break; //检验网址 http://www.baidu.com
case 15: reg = /^(0[0-9]{2})-\d{8}$|^(0[0-9]{3}-(\d{7,8}))$/; break; //电话号码
case 16: reg = /^([0-9]{11})?$/; break; //手机号
case 17: reg = /^(\d{3,4}-)?\d{7,8}$/; break; //传真
case 18: reg = /^\d{5,11}$/; break; //QQ
case 19: reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; break; //MSN
case 20: reg = /^\w+([-\.]\w+)*@(qq|sina|126|163)([\.-]\w+)*\.\w{2,4}$/; break; //企业邮箱
case 21: reg = /^[0-9]{6}$/; break; //邮编
}
return reg.test(strs);
},
Length: function (strs, num) {//计算字符串的长度小于num返回true,反之false(一个双字节字符长度计2,ASCII字符计1)
var strNum = strs.len();
if (strNum > num) {
return false;
}
return true;
},
cutString: function (strs, num) { //切割字符(汉字2个字符,数字字母1个字符)
var strNum = strs.len();
if (strNum > num) {
var cutLength = 0; //字符串长度
var charNum = 0; //字符数量
var strsArry = strs.split('');
for (var i = 0; i < strsArry.length; i++) {
charNum += strsArry[i].len();
if (charNum > num) {
cutLength = i;
break;
}
}
return $.trim(strs).substring(0, cutLength);
}
return strs;
}
});
})(jQuery);
String.prototype.len = function () { return this.replace(/[^\x00-\xff]/g, "aa").length; }