摘要:舉例一使用這個正則,打印結果為使用這個正則,打印結果為舉例二打印結果如下過濾標簽你好美麗的上海想轉化成你好,美麗的上海如果后面加,就會進入非貪婪模式。如果后面不加,就會進入貪婪模式,結果為上海。你好美麗的上海。
1.創建一個正則表達式
方法一:使用一個正則表達式字面量,其由包含在斜杠之間的模式組成。
var reg1 = /a/; var reg2 = /ab+c/;
方法二:調用RegExp對象的構造函數
var reg1 = new RegExp( "a" ); var reg2 = new RegExp( "ab+c" );2.正則表達式中的特殊字符
1.轉義字符
s: 空格 S: 非空格 d: 數字 D: 非數字 w: 字母,數字,下劃線 W: 非字母,非數字,非下劃線。 進行轉換。模式 /a*/ 代表會匹配 0 個或者多個 a。相反,模式 /a*/ 將 "*" 的特殊性移除,從而可以匹配像 "a*" 這樣的字符串。 . : 代表 任何一個字符 : 起始,結束,空格。eg:/m/匹配“moon”中得‘m’;/oo/并不匹配"moon"中得"oo",因為"oo"被一個“字”字符"n"緊跟著。 var str = "12 3123"; console.log( str.replace( //g,"|" ) );//|12| |3123|
2.量詞
{n,m}: n 和 m 都是整數。匹配前面的字符至少n次,最多m次。如果 n 或者 m 的值是0, 這個值被忽略。 *: 匹配前一個表達式0次或多次。等價于 {0,}。 +: 匹配前面一個表達式1次或者多次。等價于{1,}。 ?: 匹配前面一個表達式0次或者1次。{0,1}。 .: 匹配除換行符之外的任何單個字符。
注意:如果 ? 緊跟在任何量詞 *、 +、? 或 {} 的后面,將會使量詞變為非貪婪的(匹配盡量少的字符),和缺省使用的貪婪模式(匹配盡可能多的字符)正好相反。
3. 字符類
1.[ ]
[]:匹配[]中內容的一個字符.這指的是范圍匹配。 eg:/[a-zA-Z0-9]/:只要是數字,字母都能匹配上。 eg:/[abc]/:只要是a或者b或者c,其中一個都能匹配的上。 eg:/[a-z.]+/:都匹配“test.i.ng”中的所有字符。 []:內部不需要加|,因為它就表示一個范圍,有或者的含義。
舉例說明1
var re = /0|1|2/g; var re = /[012]/g; var re = /[0-2]/g; 以上三種正則表達是一個意思
舉例說明2
var re = /^([0-9]|1[0-9])$/g; // 判斷數字范圍是否在 0-19 之間 console.log( re.test(20) );//false console.log( re.test(2) );//true
2. ^
^ : 匹配輸入的開始。 eg: /^A/ 并不會匹配 "an A" 中的 "A",但是會匹配 "An E" 中的 "A"。^表示開始。
注意:^放在[]中,表示非的意思。
eg: 例如,[^abc] 和 [^a-c] 是一樣的。他們匹配"brisket"中的‘r’,也匹配“chop”中的‘h’。 意思是:不是a不是b不是c,則匹配成功。
3. $
$ : 匹配輸入的結束。 eg: /t$/ 并不會匹配 "eater" 中的 "t",但是會匹配 "eat" 中的 "t"。3.使用正則表達式的方法,正則的貪婪模式和非貪婪模式
test:使用正則匹配字符串,如果匹配 返回true,否則false
使用:正則.test(字符串);
2.search:使用正則匹配字符串,如果匹配 返回對應位置,否則返回-1。
使用:字符串.search(正則);
注意:正則區分大小寫,如果想不區分大小寫,則需要添加標識符 i 。對于兩種創建正則的方式,i 有兩中不同的寫法。
3.match: 使用正則匹配字符串,如果匹配,返回對應字符串,返回數組形式,否則 null。
使用: 字符串.match(正則)。
注意: 1. 返回的是類型是數組 2. 正則默認匹配成功就會停止,使用標識符 g(全局匹配)。
4.注意:正則的貪婪模式
首先需了解: +的含義是: 匹配前面一個表達式1次或者多次。等價于{1,}。
以下是貪婪模式
解釋: 1.正則的貪婪模式是指會匹配最長的,得到數目最多的項。 2.如果 ? 緊跟在任何量詞 *、 +、? 或 {} 的后面,將會使量詞變為非貪婪的(匹配盡量少的字符),和缺省使用的貪婪模式(匹配盡可能多的字符)正好相反。
以下是非貪婪模式
5.replace:使用正則匹配字符串,如果匹配成功,替換對應字符串,返回匹配后的字符串。如果不成功,則返回原字符串。
使用: 字符串.replace(正則,替換字符串);
1.敏感詞過濾
每個網站都有自己的敏感詞,例如這次的敏感詞為:星星,好,天空,這三個詞。
解析: 1.replace 第二個參數可以是一個字符串,或者函數 2.replace 第二個參數如果是函數的話,這個函數的第一個參數是每次匹配到的 字符。 3.我給參數的命名為$0,這個是隨意的,只要不是關鍵字保留字都可以。例如a,b都可以的。
2.格式化時間
方式一:
方式二:
方式二的解析:replace 第二個參數如果是函數的話, 1.這個函數的 第一個參數 是每次匹配到的 字符。 2.之后的參數是通過()的分組,子項按照 "("確定次序。 3.例如第二個參數就是(d+)匹配到的內容。
3.匹配模式參數的說明
使用情況舉例:當使用replace,并且replace的第二個參數是函數。則這個函數的參數情況,第一個參數是正則匹配到的值。之后的參數是通過( )的分組,子項按照 "("確定次序。
舉例一:
舉例二:
4.過濾標簽
5.檢查是否含有class名
6.找出重復次數最多的字符
方法一:不使用正則。
方法二:使用正則。
解析:1, 后面的是數字1,不是字母l。 1是作用是1前面的表達式,至少要重復一遍。而且前面的表達式要用( )包起來。
1的使用說明
7.檢測qq號
8.去掉前后面的空格
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/116775.html
摘要:舉例一使用這個正則,打印結果為使用這個正則,打印結果為舉例二打印結果如下過濾標簽你好美麗的上海想轉化成你好,美麗的上海如果后面加,就會進入非貪婪模式。如果后面不加,就會進入貪婪模式,結果為上海。你好美麗的上海。 1.創建一個正則表達式 方法一:使用一個正則表達式字面量,其由包含在斜杠之間的模式組成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:調用Re...
摘要:舉例一使用這個正則,打印結果為使用這個正則,打印結果為舉例二打印結果如下過濾標簽你好美麗的上海想轉化成你好,美麗的上海如果后面加,就會進入非貪婪模式。如果后面不加,就會進入貪婪模式,結果為上海。你好美麗的上海。 1.創建一個正則表達式 方法一:使用一個正則表達式字面量,其由包含在斜杠之間的模式組成。 var reg1 = /a/; var reg2 = /ab+c/; 方法二:調用Re...
摘要:一團隊組織網站說明騰訊團隊騰訊前端團隊,代表作品,致力于前端技術的研究騰訊社交用戶體驗設計,簡稱,騰訊設計團隊網站騰訊用戶研究與體驗設計部百度前端研發部出品淘寶前端團隊用技術為體驗提供無限可能凹凸實驗室京東用戶體驗設計部出品奇舞團奇虎旗下前 一、團隊組織 網站 說明 騰訊 AlloyTeam 團隊 騰訊Web前端團隊,代表作品WebQQ,致力于前端技術的研究 ISUX 騰...
摘要:一團隊組織網站說明騰訊團隊騰訊前端團隊,代表作品,致力于前端技術的研究騰訊社交用戶體驗設計,簡稱,騰訊設計團隊網站騰訊用戶研究與體驗設計部百度前端研發部出品淘寶前端團隊用技術為體驗提供無限可能凹凸實驗室京東用戶體驗設計部出品奇舞團奇虎旗下前 一、團隊組織 網站 說明 騰訊 AlloyTeam 團隊 騰訊Web前端團隊,代表作品WebQQ,致力于前端技術的研究 ISUX 騰...
摘要:一團隊組織網站說明騰訊團隊騰訊前端團隊,代表作品,致力于前端技術的研究騰訊社交用戶體驗設計,簡稱,騰訊設計團隊網站騰訊用戶研究與體驗設計部百度前端研發部出品淘寶前端團隊用技術為體驗提供無限可能凹凸實驗室京東用戶體驗設計部出品奇舞團奇虎旗下前 一、團隊組織 網站 說明 騰訊 AlloyTeam 團隊 騰訊Web前端團隊,代表作品WebQQ,致力于前端技術的研究 ISUX 騰...
閱讀 2208·2021-09-30 09:47
閱讀 959·2021-08-27 13:01
閱讀 2959·2019-08-30 15:54
閱讀 3685·2019-08-30 15:53
閱讀 825·2019-08-29 14:07
閱讀 710·2019-08-28 18:16
閱讀 795·2019-08-26 18:37
閱讀 1406·2019-08-26 13:27