js正則表達匹配&簡單驗證
阿新 • • 發佈:2017-05-24
部分 劃線 load mob clas ims object sport new
var common = { isNotNull:function(object){ if(object == null || object == ‘‘ || object == undefined){ return false; } return true; }, MBToGB:function(mb){ return Math.round(((mb / (1024))*100)/100); }, myRound:function(number){ var result = Math.round(number*10)/10; if一般簡單驗證(result >= 0.5){ result = Math.round(result); } return result; }, trimInputById:function(id){ var input = $("#"+id); var result = $.trim(input.val()); input.val(result); return result; }, trimValueByObject:function(obj){var value = $.trim(obj.val()); obj.val(value); return obj; }, innerLabel:function(id,msg){ var label = $("#msg"+id).html(); if(label != null){ common.innerLabelModify(id,msg); } $("#"+id).before(‘<label id="msg‘+id+‘" style="line-height:22px;height:22px;position:absolute;padding-left:8px;color:#bdbdbd;display:none;cursor:text;">‘+msg+‘</label>‘);if($("#"+id).val() == ""){ $("#msg"+id).css("display","inline"); } $("#"+id).focus(function(){ $("#msg"+id).css("display","none"); }); $("#"+id).blur(function(){ if($("#"+id).val() == ""){ $("#msg"+id).css("display","inline"); } }); $("#msg"+id).click(function(){ $("#msg"+id).css("display","none"); $("#"+id).focus(); }); }, innerLabelModify:function(id,msg){ var label = $("#msg"+id); if(msg != undefined){ label.html(msg); } }, getVal:function(value,msg){ if(value == undefined || value == null || value == ""){ if(msg != undefined){ return msg; } return " "; } return value; }, trimSearchVal:function(formId){ var vals = $("#"+formId+" input").each(function(){ var val = $(this).val(); $(this).val($.trim(val)); }); }, /** * * type:xml/str * xmlData: 對應type,xml傳url地址,str穿str格式數據 * treeId:要加入的div id * enableCheckBoxes:1/0 是否有 多選框 * enableThreeStateCheckboxes:1/0 是否允許三種狀態的復選框(全選、不選、部分選中) * handler:樹的點擊事件 * * */ dhtmlxTree:function(type,xmlData,treeId,enableCheckBoxes,enableThreeStateCheckboxes,handler){ $("#"+treeId).empty(); var tree; tree = new dhtmlXTreeObject(treeId, "100%", "100%", 0); tree.setSkin(‘dhx_skyblue‘); tree.setImagePath(ctx+"/common/dhtmlxTree/common/images/"); tree.enableCheckBoxes(enableCheckBoxes); tree.enableThreeStateCheckboxes(enableThreeStateCheckboxes); tree.setOnCheckHandler(handler); if(type=="xml"){ tree.loadXML(xmlData); }else{ tree.loadXMLString(xmlData); } return tree; }, /** * * treeid:ul標簽Id * data: json 數據 * onclick:點擊事件( 可選 ) * enable:true/false ( 默認true ) * setting:自定義 ( 可選 ) * api地址:http://www.baby666.cn/v3/api.php * */ zTree:function( treeid , data, onclick , enable , setting,fontCss){ if( !common.isNotNull(setting) ){ setting = { callback: { onClick: common.isNotNull(onclick)?onclick:null }, check: { enable:enable==undefined?true:enable }, data: { simpleData: { enable: true } }, view: { fontCss: common.isNotNull(fontCss)?fontCss:getFont, nameIsHTML: true } }; } var tree = $.fn.zTree.init( $("#"+treeid) , setting , eval("["+data +"]") ); return tree ; } }
var validate = { //基礎方法 isTrue:function(object,reg){ return reg.test(object.val()); }, //名稱 isName:function(name){ var reg = /^[a-zA-Z0-9\u4e00-\u9fa5_]{1,32}$/; return this.isTrue(name,reg); }, //驗證長度 isNameLength:function(name){ var namel=getCharLength(name.val()); if(0<namel>300){return false; }else{ return true; } }, //驗證備註或描述長度 isDescriptionLength:function(description){ var namel=getCharLength(description.val()); if(namel>63){return false; }else{ return true; } }, //用戶名 isUserName:function(userName){ var reg = /^[0-9a-zA-Z-_]{2,16}$/; return this.isTrue(userName,reg); }, //管理員用戶名 isUserNameNew:function(userName){ var reg = /^[a-zA-Z0-9][[email protected]]{5,31}$/; return this.isTrue(userName,reg); }, //密碼 isPassWord:function(passWord){ var reg = /^[\w~!@#$%^&*]{6,16}$/; return this.isTrue(passWord,reg); }, //郵箱 isEmail:function(email){ var reg = /^([a-zA-Z0-9_\.\-]{1,30})+\@(([a-zA-Z0-9\-]{1,10})+\.)+([a-zA-Z0-9]{2,4})+$/; return this.isTrue(email,reg); }, //URL isURL:function(url){ var reg = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/; return this.isTrue(url,reg); }, //ip地址 isIp:function(ip){ var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; return this.isTrue(ip,reg); }, //帶端口的ip地址 isPortIp:function(ip){ var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\:([0-9]+)$/; return this.isTrue(ip,reg); }, //驗證是否為字母 isEn:function(en){ var reg = /^[a-zA-Z]+$/; return this.isTrue(en,reg); }, //驗證是否為port isPort:function(en){ var reg = /^[0-9]+$/; return this.isTrue(en,reg); }, //驗證是否為漢字 isCn:function(cn){ var reg = /^[\u4e00-\u9fa5]+$/; return this.isTrue(cn,reg); }, //驗證MSN isMSN:function(msn){ var reg = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; return this.isTrue(msn,reg); }, //驗證QQ號碼 isQQ:function(qq){ var reg = /^[1-9]\d{4,9}$/; return this.isTrue(qq,reg); }, //驗證手機號碼 isMobile:function(mobile){ var reg = /^((\(\d{3}\))|(\d{3}\-))?1[3,4,5,6,8]\d{9}$/; return this.isTrue(mobile,reg); }, //驗證傳真 isFox:function(fox){ var reg = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; return this.isTrue(fox,reg); }, //驗證固定電話 isTelephone:function(telephone){ var reg = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; return this.isTrue(telephone,reg); }, //驗證郵編 isZipCode:function(zipCode){ var reg = /^[0-9]{6}$/; return this.isTrue(zipCode,reg); }, //驗證身份證號碼 isIdCard:function(idCard){ var reg = /(^([\d]{15}|[\d]{18}|[\d]{17}[xX]{1})$)/; return this.isTrue(idCard,reg); },//checkType=1,既需要驗證空,也要驗證格式,此時要傳入EmptyTipsText參數 //checkType=2,不需要驗證空,但要驗證格式 //checkType、EmptyTipsText都忽略則只使用正則去驗證 //驗證名稱:長度3-32位,以字母開頭,支持字母、數字、中劃線- 與下劃線_ 組合 isObjectName:function(nameCode){ var reg = /^[a-zA-Z0-9\_-]{3,32}$/;; return this.isTrue(nameCode,reg); }, isDateFormat:function(date){ var reg = /^[0-9]{4}\/[01]{0,1}[0-9]\/[0-3]{0,1}[0-9]{0,1}\s*((\u4E0A\u5348)|(\u4E0B\u5348))[0-2]{0,1}[0-9]{0,1}(:[0-6]{0,1}[0-9]){2}$/; return this.isTrue(date,reg); }, isOnlyNum:function(date){ var reg = /^[0-9]+(.[0-9]{1,})?$/; return this.isTrue(date,reg); }, isOnlyTwoNumAfterPoint:function(date){ var reg = /^[0-9]+(.[0-9]{1,2})?$/; return this.isTrue(date,reg); }, checkByReg:function(jqObj,tipsText,reg,checkType,EmptyTipsText){ if(checkType==1&&!common.isNotNull(jqObj,EmptyTipsText)){ return false; } if(checkType==2&&!common.isNotNull(jqObj)){ return true; } if(!reg.test(jqObj.val())){ jqObj.after("<span name=‘sp_error_tips‘ style=‘color:red;‘><br/>"+tipsText+"</span>"); return false; } return true; } }正則匹配
js正則表達匹配&簡單驗證