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'), "" + assignKW + ""); //结果列表中高亮关键字
                //    highlightKW = highlightKW.replace(/%24/g, "$");
                //} else {
                //    highlightKW = data.ds[i].BIAOTI.replace(new RegExp(assignKW, 'g'), "" + assignKW + ""); //结果列表中高亮关键字
                //}
                data.ds[i].BIAOTI = data.ds[i].BIAOTI.replace(/%5C/g, "\\");//存在问题\、\\、$
                var highlightKW = data.ds[i].BIAOTI.replace(new RegExp(assignKW, 'g'), "" + assignKW + ""); //结果列表中高亮关键字
                if (type == "新闻公告") {
                    $(".JTXWList").append('
  • [' + data.ds[i].LEIBIE + '] ' + highlightKW + '' + standardDate + '
  • ') } if (type == "政策法规") { $(".JTXWList").append('
  • [' + data.ds[i].LEIBIE + '] ' + highlightKW + '' + standardDate + '
  • ') } } $("#totalItem").html("共 "+ totalItem +" 条  "); $("#totalPage").html("共 " + totalPage + " 页  "); }, complete: function(XHR, TS){ XHR = null }, error: function (e) { alert("服务器太累啦,还需要喘口气呢~") } }) }

    你可能感兴趣的:(JS中常用的正则表达式)