1. 程式人生 > >js正則表達匹配&簡單驗證

js正則表達匹配&簡單驗證

部分 劃線 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 "&nbsp;"; } 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正則表達匹配&簡單驗證