JS中常用的正则表达式

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("服务器太累啦,还需要喘口气呢~")
        }
    })
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容