JS中常用的正則表達(dá)式

1.常用事件

oninput //鍵盤輸入事件,IE9及以上支持
onkeydown //按下鍵盤事件犁苏,瀏覽器均支持
onkeyup //釋放鍵盤事件,瀏覽器均支持
onpaste //粘貼事件朴乖,瀏覽器均支持
oncontextmenu //鼠標(biāo)右擊事件助赞,瀏覽器均支持

2.常見限制輸入框輸入

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

3.獲取URL中的參數(shù)

//跨頁傳參吃挑,常見適用場景: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;
//調(diào)用ajax查詢詳情
getInfoDetail(LeiBie, BianHao);
//跨頁傳參街立,常見適用場景:將查詢框中的參數(shù)放入URL,從URL獲取查詢框的參數(shù)
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")); //需要對編碼后的參數(shù)進(jìn)行解碼

4.特殊字符可轉(zhuǎn)換為16進(jìn)制傳入后端

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

5.通過正則高亮查詢關(guān)鍵字

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>"); //結(jié)果列表中高亮關(guān)鍵字
                //    highlightKW = highlightKW.replace(/%24/g, "$");
                //} else {
                //    highlightKW = data.ds[i].BIAOTI.replace(new RegExp(assignKW, 'g'), "<font color='#E64D42'>" + assignKW + "</font>"); //結(jié)果列表中高亮關(guān)鍵字
                //}
                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>"); //結(jié)果列表中高亮關(guān)鍵字
                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 == "政策法規(guī)") {
                    $(".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("服務(wù)器太累啦,還需要喘口氣呢~")
        }
    })
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末众雷,一起剝皮案震驚了整個濱河市做祝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌混槐,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,222評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件声登,死亡現(xiàn)場離奇詭異揣苏,居然都是意外死亡件舵,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評論 3 385
  • 文/潘曉璐 我一進(jìn)店門铅祸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洪乍,你說我怎么就攤上這事夜焦】前模” “怎么了茫经?”我有些...
    開封第一講書人閱讀 157,720評論 0 348
  • 文/不壞的土叔 我叫張陵卸伞,是天一觀的道長。 經(jīng)常有香客問我荤傲,道長,這世上最難降的妖魔是什么遂黍? 我笑而不...
    開封第一講書人閱讀 56,568評論 1 284
  • 正文 為了忘掉前任雾家,我火速辦了婚禮铃彰,結(jié)果婚禮上芯咧,老公的妹妹穿的比我還像新娘。我一直安慰自己邪铲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,696評論 6 386
  • 文/花漫 我一把揭開白布霜浴。 她就那樣靜靜地躺著蓝纲,像睡著了一般晌纫。 火紅的嫁衣襯著肌膚如雪永丝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,879評論 1 290
  • 那天慕嚷,我揣著相機(jī)與錄音,去河邊找鬼嗅辣。 笑死挠说,一個胖子當(dāng)著我的面吹牛澡谭,可吹牛的內(nèi)容都是我干的损俭。 我是一名探鬼主播,決...
    沈念sama閱讀 39,028評論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼雁仲,長吁一口氣:“原來是場噩夢啊……” “哼琐脏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起日裙,我...
    開封第一講書人閱讀 37,773評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蝎抽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,220評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡养交,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,550評論 2 327
  • 正文 我和宋清朗相戀三年瓢宦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鱼辙。...
    茶點(diǎn)故事閱讀 38,697評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖倒戏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情杜跷,我是刑警寧澤,帶...
    沈念sama閱讀 34,360評論 4 332
  • 正文 年R本政府宣布憋槐,位于F島的核電站淑趾,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏治笨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,002評論 3 315
  • 文/蒙蒙 一顺又、第九天 我趴在偏房一處隱蔽的房頂上張望等孵。 院中可真熱鬧稚照,春花似錦俯萌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽返弹。三九已至爪飘,卻和暖如春义起,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背师崎。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評論 1 266
  • 我被黑心中介騙來泰國打工默终, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人齐蔽。 一個月前我還...
    沈念sama閱讀 46,433評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像肴熏,于是被迫代替她去往敵國和親鬼雀。 傳聞我的和親對象是個殘疾皇子蛙吏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,587評論 2 350