js正则表达匹配&简单验证

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 = /^[\[email protected]#$%^&*]{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;
    }
}

正则匹配

时间: 2024-08-24 23:33:07

js正则表达匹配&简单验证的相关文章

python 中文正则表达匹配

需求:由于某个n年前的工具的错误,在复制一批文件的时候产生了大量的"复件xxxxxxx""复件(2)XXXXX"等类似文件,由于目录结构深,文件多,预计在5000万个,但是有多少这种错误的文件不清楚,因此写个脚本遍历删除. #encoding=utf-8 #author: skybug #date: 2014-05-11 #function: 遍历指目录,删除中文开头的文件名的图片 import os,re cnt = 0 pattern = re.compile(

转转转---js正则表达exec与match的区别说明

正则表达式对象有两个定义方式:: 1.第一种定义: new RegExp(pattern, attributes);如var reg = new RegExp("abc","g") 其中pattern为表示表达式内容,如上表示匹配abc attributes:g,全局匹配,i不区分大小写,m执行多行匹配,用最多的为g和i 2.第二种定义:/pattern/attributes. 如:var reg = /abc/g; 正则表达的规则一些规则在此不再说明,只记录exe

php正则表达匹配中文问题分析

$str = '中华人民共和国123456789abcdefg';echo preg_match("/^[u4e00-u9fa5_a-zA-Z0-9]{3,15}$",$strName); 运行一下上面这段代码,看会有什么提示信息? Warning: preg_match(): Compilation failed: PCRE does not support L, l, N, P, p, U, u, or X at offset 3 in F:http://www.hzhuti.co

js 正则表达写法

一 javascript正则表达式的基本知识 1     javascript 正则对象创建 和用法 声明javascript 正则表达式 var reCat = new RegExp("cat");    你也可以     var reCat = /cat/;    //Perl 风格 (推荐) 2 学习最常用的 test exec match search   replace   split 6个方法 1) test   检查指定的字符串是否存在 var data = "

js正则表达大合集【转载自:http://caibaojian.com】

[注明原文链接吧]:http://caibaojian.com 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uPattern.test("caibaojian")); 2 密码强度正则 //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 var pPattern = /^.*(?=.{6,})(?=.

js正则表达之中的字符

1,.(点):表示除换行符(\n)和其他Unicode行终止符之外的任意字符.如果要包含\n,用[.\n]. 2,*:匹配前面的子表达式出现0次或多次,表示{0,}. 3,?:匹配前面的子表达式出现0次或1次,表示{0,1}. 4,+:匹配前面的子表达式出现1次或多次,表示{1,}. 5,():括号要匹配的字符串,表达式中有几个()就有几个相应的匹配字符串.(\s*)表示连续空格的字符串. 6,[]:定义匹配的字符范围. [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字. 7,{}

js正则表达语法

/* *通过量词可以设置一个内容出现的次数 *量词只对它前边的一个内容起作用.所以在作用多个时需要用小括号()来向计算机说明这是一个整体. *-{n}代表正好出现n次. *-{m,n}出现了m-n次. *-{m,}m次以上. */ var reg = /a{3}/ : //ababab reg = /(ab){3}/; reg = /ab{1,3}c/; //abbbc; reg = /b{3}/; //bbb; reg = /a{2,}/ //bbbaa; RegExp RegExp对象的方法

js正则表达使用实例

(1)替换掉htmlStr中所有的<font..>和</font> var htmlstr='<font color="#fff">ABC</font><p>dfd</p><font color="#fff">EFG</font>';alert(htmlstr.replace(/<[^<>]*?font[^<>]*?>/gi,"

js正则实现从一段复杂html代码字符串中匹配并处理特定信息

js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他进行加粗.加下滑线处理. 解决思路: 1.用正则匹配“|”出现的次数,处理刚好出现2次的(html字符串中一般不会含有这个字符) 2.使用正则分组,获取“|”之间的内容,并进行替换(添加样式) 代码: function specialDeal(){ htmlStr = htmlStr.replace