美文网首页
JS中常用的正则表达式

JS中常用的正则表达式

作者: 我叫397 | 来源:发表于2019-12-24 15:24 被阅读0次

    1.常用事件

    oninput //键盘输入事件,IE9及以上支持
    onkeydown //按下键盘事件,浏览器均支持
    onkeyup //释放键盘事件,浏览器均支持
    onpaste //粘贴事件,浏览器均支持
    oncontextmenu //鼠标右击事件,浏览器均支持
    

    2.常见限制输入框输入

    //只能输入中文
    oninput="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" 
    //只能输入数字
    oninput="value=value.replace(/[^\d]/g,'')"
    //只能输入中文、字母、数字
    oninput="value=value.replace(/[^\w\u4E00-\u9FA5]/g,'')"
    //只能输入字母、数字
    oninput="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')"
    

    3.获取URL中的参数

    //跨页传参,常见适用场景:news列表页到详情页
    function getParam() {
        var url = location.search; //获取URL中"?"符后的字符串
        var theRequest = new Object();
        if (url.indexOf("?") != -1) {
            var str = url.substr(1);
            strs = str.split("&");
            for (var i = 0; i < strs.length; i++) {
                theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
            }
        }
        return theRequest;
    }
    //获取URL中的类别和编号
    var request = new Object(getParam());
    var LeiBie = request.LeiBie;
    var BianHao = request.BianHao;
    //调用ajax查询详情
    getInfoDetail(LeiBie, BianHao);
    
    //跨页传参,常见适用场景:将查询框中的参数放入URL,从URL获取查询框的参数
    function getURLParam(param) {
        var reg = new RegExp('(^|&)' + param + '=([^&]*)(&|$)', 'i');
        var r = window.location.search.substr(1).match(reg);
        if (r != null) {
            return unescape(r[2]);
        }
        return null;
    }
    var keyword = decodeURIComponent(getURLParam("keyword")); //需要对编码后的参数进行解码
    

    4.特殊字符可转换为16进制传入后端

    序号 特殊字符 十六进制值
    1 % %25
    2 # %23
    3 & %26
    4 $ %24
    5 + %2B
    6 = %3D
    7 空格 %20
    8 / %2F
    9 \ %5C
    10 ? %3F

    5.通过正则高亮查询关键字

    function getSearchList(keyword, type, curPage, pageSize) {
        $.ajax({
            url: "/Main/GetSearchResultList?Rdm=" + Math.floor(Math.random() * 1000),
            type: "POST",
            dataType: "json",
            async: true,
            cache: false,
            data: { 'keyword': keyword,'type': type,'pn': curPage,'ps': pageSize },
            success: function (data) {
                for (var i = 0; i < data.ds.length; i++) {
                    var standardDate = converDate(data.ds[i].FABUSJ); //格式化时间
                    //var highlightKW = "";
                    //if (assignKW.match(RegExp(/$/))) {
                    //    assignKW = keyword;
                    //    highlightKW = data.ds[i].BIAOTI.replace(new RegExp(assignKW, 'g'), "<font color='#E64D42'>" + assignKW + "</font>"); //结果列表中高亮关键字
                    //    highlightKW = highlightKW.replace(/%24/g, "$");
                    //} else {
                    //    highlightKW = data.ds[i].BIAOTI.replace(new RegExp(assignKW, 'g'), "<font color='#E64D42'>" + assignKW + "</font>"); //结果列表中高亮关键字
                    //}
                    data.ds[i].BIAOTI = data.ds[i].BIAOTI.replace(/%5C/g, "\\");//存在问题\、\\、$
                    var highlightKW = data.ds[i].BIAOTI.replace(new RegExp(assignKW, 'g'), "<font color='#E64D42'>" + assignKW + "</font>"); //结果列表中高亮关键字
                    if (type == "新闻公告") {
                        $(".JTXWList").append('<li><span class="title"><span class="leibie">[' + data.ds[i].LEIBIE + '] </span><a href="../../Views/User/newsDetail.aspx?LeiBie=' + encodeURI(encodeURI(data.ds[i].LEIBIE)) + '&BianHao=' + data.ds[i].BIANHAO + '" target="_blank" title="' + data.ds[i].BIAOTI + '">' + highlightKW + '</a></span><span class="date">' + standardDate + '</span></li>')
                    }
                    if (type == "政策法规") {
                        $(".JTXWList").append('<li><span class="title"><span class="leibie">[' + data.ds[i].LEIBIE + '] </span><a href="../../Views/User/policiesDetail.aspx?LeiBie=' + encodeURI(encodeURI(data.ds[i].LEIBIE)) + '&BianHao=' + data.ds[i].BIANHAO + '" target="_blank" title="' + data.ds[i].BIAOTI + '">' + highlightKW + '</a></span><span class="date">' + standardDate + '</span></li>')
                    }
                }
                $("#totalItem").html("共 "+ totalItem +" 条&nbsp;&nbsp;");
                $("#totalPage").html("共 " + totalPage + " 页&nbsp;&nbsp;");                 
            },
            complete: function(XHR, TS){
                XHR = null
            },
            error: function (e) {
                alert("服务器太累啦,还需要喘口气呢~")
            }
        })
    }
    

    相关文章

      网友评论

          本文标题:JS中常用的正则表达式

          本文链接:https://www.haomeiwen.com/subject/fghfoctx.html