<button id="jhcbw"><acronym id="jhcbw"></acronym></button>
<em id="jhcbw"></em>
    1. <th id="jhcbw"><pre id="jhcbw"><rt id="jhcbw"></rt></pre></th>

        <ol id="jhcbw"><object id="jhcbw"></object></ol>
        首頁>技術分享>通俗易通的理解學習JavaScript正則表達式

        通俗易通的理解學習JavaScript正則表達式

        相信很多前端開發小伙伴跟我一樣,雖然做前端好多年但是對正則表達式還是不會,怎么說呢,它不太難所以一直沒有好好系統的學習,剛好今天有時間,鄭州網站公司可尚文化的小游帶我們一起學習js正則表達式。


        一:如何創建正則表達式對象;

        語法:new RegExp('正則表達式', '匹配模式');

        如:var reg = new RegExp();


        二:如何使用正則去驗證:

        比如我們,定義一個字符串:var str = "a";

        劃重點:js為正則對象提供了一個方法test()用來判斷一個東西(字符串等)是否符合正則表達式的規則,符合就返回true,否則false。

        用法如:reg.test(str);


        三:js還提供了一個簡潔的方式創建正則對象;

        語法:var reg = /a/i;

        其中/a/為正則表達式,i為匹配模式即忽略大小寫,如果匹配模式是g的話是全局匹配的意思。


        四:語法學完了,我們來熟悉一下,正則表達式的使用技巧。

        在正則表達式中"|"表示或; //如 var reg = /a|b/;

        在正則表達式中中括號里的是或的關系,如:a|b == [ab];

        在正則表達式中任意小寫字母為:[a-z];

        在正則表達式中任意大寫字母為:[A-Z];

        在正則表達式中任意字母為:[A-z];


        以此類推,如果我們想判斷一個字符串中是否含有abc或adc或者aec呢?

        一定會有初學者,說可以這樣寫: var reg = /abc|adc|aec/;

        這樣寫沒有錯,但是有更加簡潔的方式,如: var reg = /a[bde]c/;

        秒不?哈哈哈,正則就是這么神奇。


        在正則表達式中[^]表示除了,即排除的意思;用法如: var reg = /[^ab];  即除了“ab”或“a”或“b”字母,其他都行。


        在正則表達式中任意數字為:[0-9];

        在正則表達式中任意除了數字為:[^0-9];


        五:正則和字符串方法如何一起使用

        我們做項目是如果遇到這樣的需求:var str = "1a2b3c4d";

        怎么根據任意字母來把字符串拆分成數組???

        思考下?。?!

        字符串方法中有一個方法split()可以會根據參數拆分字符串成數組;

        split()的用法如:var num = "123456m456789"; console.log(num.split('m')); //打印出來就是以m為分界拆分開的兩個數組

        根據上面的邏輯,那字符串方法里面可以傳正則么?答案是可以的;

        我們可以這樣寫:num.split(/[A-z]/);  這樣就便捷快速的把字符串以字母,拆分成數組了;


        再舉個栗子:假如我們想提取一個字符串中的字母,該怎么辦???

        var str = "1a1v4g5hj6yu";

        我們知道字符串方法有一個match可以從字符串中提取。

        那么我們可以這樣寫:

        str.match(/[A-z]/gi);  //這樣就可以,全局提取所有無論大小寫的字母了?。?!


        知識一發散思維就會上頭,我們在看下如何批量替換字符串中的內容。

        我們可以這樣寫:str.replace(/a/g,'可尚文化'); //這樣我們就把字符串中所有的a字母替換成了可尚文化。


        再拓展下正則表達式中的量詞:{數字}

        比我,我們想判斷下字符串中是否含有連續的6個a字母,可以這樣寫:

        var str = "aaaaaaghjhjkjykjkk";

        var reg = /a{6}/;

        reg.test(str);


        劃重點:量詞只對前面的一個內容起作用,比如/a{3}/ 就是匹配三個a,如果/(ab){3}/就是三個ab,有點像數學啊,妙不可言。

        由上可知,量詞是由花括號包裹住的,那么我們有這樣的需求,如果限制字符串中a字符最少出現一次最多出現三次怎么寫?其實可以這樣寫:/a{1,3}/;

        總結一下:{n}正好出現n次;{m,n}最少出現m次,最多出現n次;{m,}出現m次以上


        檢查一個字符串中是否以a字母開頭,可以這樣寫:/^a/;

        檢查一個字符串中是否以a字母結尾,可以這樣寫:/a$/;

        檢查一個字符串中是否以a字母開頭或結尾,可以這樣寫:/^a|a$/;

        免费大波美女做受视频
        <button id="jhcbw"><acronym id="jhcbw"></acronym></button>
        <em id="jhcbw"></em>
        1. <th id="jhcbw"><pre id="jhcbw"><rt id="jhcbw"></rt></pre></th>

            <ol id="jhcbw"><object id="jhcbw"></object></ol>