/** * * 擴展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:'兩次輸入密碼不匹配' } });