擴展Jquery easyui的validator插件

/**
*
* 擴展easyui的validator插件rules,支持更多類型驗證(重寫驗證方法)
*
*/
String.prototype.replaceAll = function(s1,s2)
{ 
    return this.replace(new RegExp(s1,"gm"),s2); 
}

String.prototype.Trim = function()
{ 
    return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 


$.extend($.fn.validatebox.defaults.rules,{
	minLength:{// 判斷最小長度
		validator:function(value,param) {
			return value.length>=param[0];
		},
		message:'最少輸入 {0} 個字符'
	},
	minLengthTrim:{// 判斷最小長度(去掉字符串頭尾的空格)
		validator:function(value,param) {
			var len = $.trim(value).length;
			return len>=param[0];
		},
		message:'最少輸入 {0} 個字符'
	},
	lengthSpace:{//驗證長度
			validator:function(value,param){
			return value.length>=param[0]&&value.length<=param[1];
		},
		message:"輸入內容長度必須介於{0}和{1}之間"
	},
	lengthReplaceSpace:{
		validator:function(value,param){
		    $("#" + param[2]).val(value.replaceAll(' ',''));
		    var len = value.replaceAll(' ','').length;
			return len>=param[0]&&len<=param[1];
		},
		message:"輸入內容長度必須介於{0}和{1}之間"
	},
	phone:{// 驗證電話號碼
		validator:function(value) {
			return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
		},
		message:'格式不正確,請使用下面格式:020-88888888'
	},
	mobile:{// 驗證手機號碼
		validator:function(value) {
			return /^(13|15|18)\d{9}$/i.test(value);
		},
		message:'手機號碼格式不正確'
	},
	idcard:{// 驗證身份證
		validator:function(value) {
			return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
		},
		message:'身份證號碼格式不正確'
	},
	intOrFloat:{// 驗證整數或小數
		validator:function(value) {
			return /^\d+(\.\d+)?$/i.test(value);
		},
		message:'請輸入數字,並確保格式正確'
	},
	currency:{// 驗證貨幣
		validator:function(value) {
			return/^\d+(\.\d+)?$/i.test(value);
		},
		message:'貨幣格式不正確'
	},
	qq:{// 驗證QQ,從10000開始
		validator:function(value) {
			return /^[1-9]\d{4,9}$/i.test(value);
		},
		message:'QQ號碼格式不正確'
	},
	integer:{// 驗證整數
		validator:function(value) {
			return /^[+]?[1-9]+\d*$/i.test(value);
		},
		message:'請輸入整數'
	},
	chinese:{// 驗證中文
		validator:function(value) {
			return /^[\u0391-\uFFE5]+$/i.test(value);
		},
		message:'請輸入中文'
	},
	english:{// 驗證英語
		validator:function(value) {
			return /^[A-Za-z]+$/i.test(value);
		},
		message:'請輸入英文'
	},
//	unnormal:{// 驗證是否包含空格和非法字符
//		validator:function(value) {
//			return /.+/i.test(value);
//		},
//		message:'輸入值不能爲空和包含其餘非法字符'
//	},
	username:{// 驗證用戶名
		validator:function(value) {
			return/^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
		},
		message:'用戶名不合法(字母開頭,容許6-16字節,容許字母數字下劃線)'
	},
	faxno:{// 驗證傳真
		validator:function(value) {
	//            return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/i.test(value);
			return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
		},
		message:'傳真號碼不正確'
	},
	zip:{// 驗證郵政編碼
		validator:function(value) {
			return /^[1-9]\d{5}$/i.test(value);
		},
		message:'郵政編碼格式不正確'
	},
	ip:{// 驗證IP地址
		validator:function(value) {
			return /d+.d+.d+.d+/i.test(value);
		},
		message:'IP地址格式不正確'
	},
	name:{// 驗證姓名,能夠是中文或英文
		validator:function(value) {
			return /^[\u0391-\uFFE5]+$/i.test(value)|/^\w+[\w\s]+\w+$/i.test(value);
		},
		message:'請輸入姓名'
	},
	carNo:{
		validator:function(value){
			return /^[\u4E00-\u9FA5][\da-zA-Z]{6}$/.test(value); 
		},
		message:'車牌號碼無效(例:粵J12350)'
	},
	carenergin:{
		validator:function(value){
			return /^[a-zA-Z0-9]{16}$/.test(value); 
		},
		message:'發動機型號無效(例:FG6H012345654584)'
	},
	email:{
		validator:function(value){
			return/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value); 
		},
		message:'請輸入有效的電子郵件帳號(例:abc@126.com)'
	},
	msn:{
		validator:function(value){
			return/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value); 
		},
		message:'請輸入有效的msn帳號(例:abc@hotnail(msn/live).com)'
	},
	equalTo: {
        validator:function(value,param){
            return $("#"+param[0]).val() == value;
        },
        message:'兩次輸入密碼不匹配'
    }
});
相關文章
相關標籤/搜索