1. 程式人生 > >javascript 正則表示式使用說明詳細教程

javascript 正則表示式使用說明詳細教程

1,正則表示式的作用:匹配一個字串中的一些內容

2,宣告和使用:

1)建構函式 var reg=new RegExp(/表示式/)
2)字面量 var reg=/表示式/   推薦使用
eg: var reg=/abc/    表示匹配含有abc 的字串
常用方法:reg.test("要檢測的字串")    返回布林值

3,最簡單開始

1)簡單類 只要含有正則中的內容即可
var reg=/abc/
2) 字元類:在正則中使用[]整體表示一位字元,字串的某一個字元滿足中括號中內容的其中一個即可
var reg = /[abc]/;

console.log(reg.test("qwewtetwte"));//false
console.log(reg.test("qwewtaetwte"));//true

3) 反向類:在字元類中括號內部最開始寫一個^,表示反向
var reg = /[^abc]/; // 字串中含有除了abc以外的任意字元即可返回true
console.log(reg.test("abc"));//false
4)範圍類
var reg = /[abcdefghigklmnopqrst]/;
var reg = /[a-t]/;//可以匹配到a到t之間的任意一個字元
console.log(reg.test("uwy"));//false
console.log(reg.test("guwy"));//true
想要匹配所有的小寫字母 //var reg = /[a-z]/;
想要匹配所有的大寫字母 var reg = /[A-Z]/;
想要匹配所有的數字 var reg = /[0-9]/
5) 組合類
//匹配數字和小寫字母
var reg = /[0-9a-z]/;
console.log(reg.test("AAAAAAAAAA"));//false
console.log(reg.test("AAAAA0AAAAA"));//true
console.log(reg.test("AAAAAaAAAAA"));//true

var reg = /[A-Z0-9a-z]/;
console.log(reg.test("AAAAAAAAAA"));//true
console.log(reg.test("012323"));//true
console.log(reg.test("aaaaaa"));//true

6)預定義類
var reg = /\d/;// /[0-9]/;
. 匹配除換行符以外的任意字元
\w 單詞字元(所有的字母數字和_) word
\W [^a-zA-Z0-9_] 非單詞字元
\s 匹配任意的空白符 space
\S [^\f\r\n\t\v] 可見字元
\d 匹配數字 digit
\D [^0-9] 非數字字元
\b 匹配單詞的開始或結束

console.log(reg.test("abca1d"));
7)字元轉義:(常用的)
如果使用元字元本身,需轉義如. * \
\. \* \\
8)補充
或者| 
括號 () 提升優先順序,先計算
var reg = /abc|bcd/;
console.log(reg.test("ab"));//false
console.log(reg.test("abc"));//true
console.log(reg.test("bcd"));//true
var reg = /a|b|c|d/;//如果使用單個字元,與後面的作用相同 [abcd]

9) ^ 匹配字串的開始
$ 匹配字串的結束

^ 在中括號外使用,寫在正則最前面時,表示匹配開頭,一個正則中只能使用一次
var reg = /^abc/;
console.log(reg.test("abcdefg")); //true
console.log(reg.test("aabcdefg"));//false

$ 寫在正則最後位置,表示以xxx結束
var reg = /abc$/;
console.log(reg.test("ddddabc"));//true
console.log(reg.test("ddddaabbc"));//false

^和$同時使用 嚴格匹配-必須跟書寫的正則內容完全相同
var reg = /^abc$/;
console.log(reg.test("abc"));//true
console.log(reg.test("abcabc"));//false

10)量詞

//使用量詞,表示數量
大括號中書寫一個數值。表示出現的次數
var reg = /^a{3}$/;
console.log(reg.test("aa"));//false
console.log(reg.test("aaa"));//true
console.log(reg.test("aaaa"));//false

匹配2-5個
var reg = /^a{2,5}$/;
console.log(reg.test("a"));//false
console.log(reg.test("aa"));//true
console.log(reg.test("aaaaaa"));//false

匹配至少3個
var reg = /^a{3,}$/;
console.log(reg.test("aa"));//false
console.log(reg.test("aaa"));//true
console.log(reg.test("aaaa"));//true

* 匹配0-多個 當字串中某一個部分可選時,使用*
var reg = /^a*$/;
console.log(reg.test(""));//true
console.log(reg.test("a"));//true
console.log(reg.test("aaaa"));//true

+ 匹配1個到多個
var reg = /^a+$/;
console.log(reg.test(""));//false
console.log(reg.test("a"));//true
console.log(reg.test("aaaa"));//true

? 匹配0個或1個
var reg = /^a?$/;
console.log(reg.test(""));//true
console.log(reg.test("a"));//true
console.log(reg.test("aaaa"));//false

4,replace 和匹配模式
var str = "abca";
//第一個引數可以使用字串,同樣可以使用正則表示式
console.log(str.replace("a", "z")); //zbca

匹配模式
g - global 全域性匹配
i - ignoreCase 忽略大小寫
console.log(str.replace(/a/ig, "z"));//zbcz

//trim是字串方法
var str = " a a ";
console.log(str.trim());

var str = " a a ";
// \s 不可見字元
console.log(str.replace(/\s/g, ""));//替換掉所有的空格aa
console.log(str.replace(/^\s+|\s+$/g, ""));//替換掉兩端的空格a a
// 自己的trim方法
function Trim(str) {
return str.replace(/^\s+|\s+$/g, "");
}

5,正則提取 match

1) 字串方法 match
var str = "aaa123hhh456hhh789aaa";
//提取出字串中的數字
console.log(str.match(/\d{3}/)); //提取第一個匹配到的值["123", index: 3, input: "aaa123hhh456hhh789aaa"]
console.log(str.match(/\d{3}/g)); //提取所有的內容時,不會有index和input屬性字 ["123", "456", "789"]
var str = "//小明:謝謝大神,我得郵箱是[email protected],哈哈小紅:謝謝大神,我得郵箱是[email protected],哈哈李雷:謝謝大神,我得郵箱是[email protected],哈哈韓梅梅:謝謝大神,我得郵箱是[email protected],哈哈";
console.log(str.match(/\[email protected]\w+\.\w+/g));
解析一下:@ 符號前面有一個或多個單詞,後同理,\. 點 “.”的轉義 點後也是一個單詞 g 全域性匹配

2)exec 分組提取
//正則.exec(字串);

//正則.exec(字串);
var reg = /\[email protected]\w+\.\w+/g;
//通過同一個正則表示式多次處理一個字串,可以多次提取出匹配到的內容以及起始位置索引值
//匹配不到時返回null
console.log(reg.exec(str));

var result;
while ((result = reg.exec(str)) != null) {
console.log("郵箱是:" + result + ",起始索引值為" + result.index);
}

var reg = /(\w+)@(\w+(?:\.\w+)+)/g;
//使用()可以在正則表示式中進行分組,從左往右,第一個( 表示組1
//如果不想提取出某個組的內容,可以在這個組開始的(貼著的後面加上 ?:
var result;
while ((result = reg.exec(str)) != null) {
console.log("郵箱是:" + result[0]+"使用者名稱是:"
+result[1]+"域名是:"
+result[2]);
//console.log(result);
}
(?<name>exp) 匹配exp,並捕獲文字到名稱為name的組裡,也可以寫成(?'name'exp)
(?:exp) 匹配exp,不捕獲匹配的文字,也不給此分組分配組號
零寬斷言 (?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp後面的位置
(?!exp) 匹配後面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置
註釋 (?#comment) 這種型別的分組不對正則表示式的處理產生任何影響,用於提供註釋讓人閱讀

以下是收集於網路中的常用正則表示式:
一、校驗數字的表示式
1 數字:^[0-9]*$
2 n位的數字:^\d{n}$
3 至少n位的數字:^\d{n,}$
4 m-n位的數字:^\d{m,n}$
5 零和非零開頭的數字:^(0|[1-9][0-9]*)$
6 非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
7 帶1-2位小數的正數或負數:^(\-)?\d+(\.\d{1,2})?$
8 正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$
9 有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$
10 有1~3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$
11 非零的正整數:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
12 非零的負整數:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13 非負整數:^\d+$ 或 ^[1-9]\d*|0$
14 非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15 非負浮點數:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16 非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17 正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18 負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19 浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

二、校驗字元的表示式
1 漢字:^[\u4e00-\u9fa5]{0,}$
2 英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3 長度為3-20的所有字元:^.{3,20}$
4 由26個英文字母組成的字串:^[A-Za-z]+$
5 由26個大寫英文字母組成的字串:^[A-Z]+$
6 由26個小寫英文字母組成的字串:^[a-z]+$
7 由數字和26個英文字母組成的字串:^[A-Za-z0-9]+$
8 由數字、26個英文字母或者下劃線組成的字串:^\w+$ 或 ^\w{3,20}$
9 中文、英文、數字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+$
10 中文、英文、數字但不包括下劃線等符號:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
11 可以輸入含有^%&',;=?$\"等字元:[^%&',;=?$\x22]+
12 禁止輸入含有~的字元:[^~\x22]+

三、特殊需求表示式
1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
4 手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
5 電話號碼("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
6 國內電話號碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
7 身份證號(15位、18位數字):^\d{15}|\d{18}$
8 短身份證號碼(數字、字母x結尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
9 帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
10 密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-zA-Z]\w{5,17}$
11 強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
12 日期格式:^\d{4}-\d{1,2}-\d{1,2}
13 一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$
14 一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$

15 錢的輸入格式:
16 1.有四種錢的表示形式我們可以接受:"10000.00" 和 "10,000.00", 和沒有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$
17 2.這表示任意一個不以0開頭的數字,但是,這也意味著一個字元"0"不通過,所以我們採用下面的形式:^(0|[1-9][0-9]*)$
18 3.一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9]*)$
19 4.這表示一個0或者一個可能為負的開頭不為0的數字.讓使用者以0開頭好了.把負號的也去掉,因為錢總不能是負的吧.下面我們要加的是說明可能的小數部分:^[0-9]+(.[0-9]+)?$
20 5.必須說明的是,小數點後面至少應該有1位數,所以"10."是不通過的,但是 "10" 和 "10.2" 是通過的:^[0-9]+(.[0-9]{2})?$
21 6.這樣我們規定小數點後面必須有兩位,如果你認為太苛刻了,可以這樣:^[0-9]+(.[0-9]{1,2})?$
22 7.這樣就允許使用者只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
23 8.1到3個數字,後面跟著任意個 逗號+3個數字,逗號成為可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
24 備註:這就是最終結果了,別忘了"+"可以用"*"替代如果你覺得空字串也可以接受的話(奇怪,為什麼?)最後,別忘了在用函式時去掉去掉那個反斜槓,一般的錯誤都在這裡
25 xml檔案:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
26 中文字元的正則表示式:[\u4e00-\u9fa5]
27 雙位元組字元:[^\x00-\xff] (包括漢字在內,可以用來計算字串的長度(一個雙位元組字元長度計2,ASCII字元計1))
28 空白行的正則表示式:\n\s*\r (可以用來刪除空白行)
29 HTML標記的正則表示式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (網上流傳的版本太糟糕,上面這個也僅僅能部分,對於複雜的巢狀標記依舊無能為力)
30 首尾空白字元的正則表示式:^\s*|\s*$或(^\s*)|(\s*$) (可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表示式)
31 騰訊QQ號:[1-9][0-9]{4,} (騰訊QQ號從10000開始)
32 中國郵政編碼:[1-9]\d{5}(?!\d) (中國郵政編碼為6位數字)
33 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址時有用)
34 IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

1 . 校驗密碼強度
密碼的強度必須是包含大小寫字母和數字的組合,不能使用特殊字元,長度在8-10之間。

^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
2. 校驗中文
字串僅能是中文。

^[\\u4e00-\\u9fa5]{0,}$
3. 由數字、26個英文字母或下劃線組成的字串
^\\w+$
4. 校驗E-Mail 地址
同密碼一樣,下面是E-mail地址合規性的正則檢查語句。

[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
5. 校驗身份證號碼
下面是身份證號碼的正則校驗。15 或 18位。

15位:

^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$
18位:

^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$
6. 校驗日期
“yyyy-mm-dd“ 格式的日期校驗,已考慮平閏年。

^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
7. 校驗金額
金額校驗,精確到2位小數。

^[0-9]+(.[0-9]{2})?$
8. 校驗手機號
下面是國內 13、15、18開頭的手機號正則表示式。(可根據目前國內收集號擴充套件前兩位開頭號碼)

^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$
9. 判斷IE的版本
IE目前還沒被完全取代,很多頁面還是需要做版本相容,下面是IE版本檢查的表示式。

^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$
10. 校驗IP-v4地址
IP4 正則語句。

\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b
11. 校驗IP-v6地址
IP6 正則語句。

(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
12. 檢查URL的字首
應用開發中很多時候需要區分請求是HTTPS還是HTTP,通過下面的表示式可以取出一個url的字首然後再邏輯判斷。

if (!s.match(/^[a-zA-Z]+:\\/\\//))
{
s = 'http://' + s;
}
13. 提取URL連結
下面的這個表示式可以篩選出一段文字中的URL。

^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?
14. 檔案路徑及副檔名校驗
驗證windows下檔案路徑和副檔名(下面的例子中為.txt檔案)

^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
15. 提取Color Hex Codes
有時需要抽取網頁中的顏色程式碼,可以使用下面的表示式。

^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
16. 提取網頁圖片
假若你想提取網頁中所有圖片資訊,可以利用下面的表示式。

\\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)
17. 提取頁面超連結
提取html中的超連結。

(<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
18. 查詢CSS屬性
通過下面的表示式,可以搜尋到相匹配的CSS屬性。

^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
19. 抽取註釋
如果你需要移除HMTL中的註釋,可以使用如下的表示式。

<!--(.*?)-->
20. 匹配HTML標籤
通過下面的表示式可以匹配出HTML中的標籤屬性。

<\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>

相關推薦

Perl表示式詳細教程

前言 想必學習perl的人,對基礎正則表示式都已經熟悉,所以學習perl正則會很輕鬆。這裡我不打算解釋基礎正則的內容,而是直接介紹基礎正則中不具備的但perl支援的功能。關於基礎正則表示式的內容,可參閱基礎正則表示式。 我第一個要說明的是,perl如何使用正則。還記得當初把《精通正則表示式》的書看了一遍,把p

javascript 表示式使用說明詳細教程

1,正則表示式的作用:匹配一個字串中的一些內容 2,宣告和使用: 1)建構函式 var reg=new RegExp(/表示式/) 2)字面量 var reg=/表示式/   推薦使用 eg: var reg=/abc/    表示匹配含有abc 的字串 常用方法:reg.test("要檢測的字串")  

JavaScript 表示式驗證登入例項

程式碼片段: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>qq登入模擬測試</title> </head> <

JavaScript 表示式使用例項集合

1、字元 ^ 的使用  程式碼片段 <html> <head> <title>字元^的使用</title> <meta http-equiv="Content-Type" conten

JavaScript表示式表單驗證例項

/*是否帶有小數*/ function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/; return objRegExp.test(strValue); } /*校驗是否中文名稱組成 */ function

JavaScript表示式與表單驗證

一.非空驗證 判斷非空 最好還是不要使用trim()方法 有的瀏覽器可能不支援 推薦使用正則表示式 判斷是否為空 // " abc "----->"abc "------>"abc"function trim (txt) { var afterText = txt.replace(/^\s*

詳解JavaScript表示式(三)

本文是JavaScript正則表示式的第三篇文章,若是對正則表示式陌生的話,可以看我之前的兩篇文章。 詳解正則表示式(一) 詳解正則表示式(二) 貪婪模式和非貪婪模式 1、貪婪模式 在匹配成功的情況下,儘可能多的匹配。而JavaScript預設的就是貪婪模式。話不多說,直

詳解JavaScript表示式(一)

RegExp 物件表示正則表示式,它是對字串執行模式匹配的強大工具 這篇文章主要是對正則表示式有一個全面的瞭解,學完之後,當再次看到一些比較複雜的正則表示式的時候就可以逐步分析了。當然,再加上一段時間的練習,相信你自己也可以學會怎麼使用正則表示式的。 1、例項化正則表示式的兩種方

手把手教你搞懂JavaScript表示式之方法

咱們來看看JavaScript中都有哪些操作正則的方法。 RegExp RegExp 是正則表示式的建構函式。 使用建構函式建立正則表示式有多種寫法: new RegExp('abc'); // /abc/ new RegExp('abc', 'gi'); // /abc/gi

JavaScript表示式之語法--詼諧易懂

正則表示式可以用來做表單校驗,也可以用來搜尋關鍵字,匹配字元等等,功能非常強大,但是剛開始看到正則的語法就頭大,什麼程式碼,明明亂碼好嘛?! 但是這麼好用的東西怎麼能不學習,偶然看到師父轉發的文章,簡直讓我這初學者醍醐灌頂,作者講的很通俗易懂。 在文章開始前,要了解es6字串操作方法

Javascript表示式筆錄【2】

文章目錄 方形括號的用法 示例-禁止在表單中輸入非字母 預定義類 邊界符匹配示例 量詞 量詞 * 示例 量詞 + 示例

Javascript表示式筆錄【1】

關於 量詞/元字元等用法見 Javascript正則表示式筆錄【2】 文章目錄 新建正則表示式的方法 全域性匹配時需要引入額外選項 'g' 匹配多行時需要引入選項'm',同時還要引入'g' 使用正則表示式查詢字串中

JavaScript表示式-常用方法

公司之前有個胖女孩說你竟然會正則? 其實正則沒那麼難;今天我們說說他常用的幾個API。 在講方法之前, 我們先對正則表示式做一個基本的瞭解: 1、正則表示式定義使用單個字串來描述、匹配一系列符合某個句法規則的字串搜尋模式。 2、英語:Regular Expression,在程式碼中常簡寫為regex、R

python 爬蟲 表示式詳細使用

提取 網頁內容 四大基本方法之 1.正則表示式 re模組 表示式 說明 [abc] abc中的一個 [a-z] a-z中的一個 [0-9] 0-9中的一個 [af0-9] a-f,0-9中的一個 [ab][cd][12] 三個中分

JavaScript-表示式

話題突然一指,什麼是正則表示式呢?為什麼咱們需要學習正則表示式的書寫呢?學習這個有什麼用,能幫助我們解決什麼問題?帶著疑問,咱們一塊來看看“正則表示式”; 什麼是正則表示式? 規定了一個字串中字元出

JavaScript表示式

什麼是正則表示式? 正則表示式是由一個字元序列形成的搜尋模式。 當你在文字中搜索資料時,你可以用搜索模式來描述你要查詢的內容。 正則表示式可以是一個簡單的字元,或一個更復雜的模式。 正則

JavaScript表示式練習解析1

var url = 'http://blog.163.com/album?id=1#comment'; var reg = /^(https?:)\/\/([^\/]+)(\/[^\?]*)?(\?[^#]*)?(#.*)?$/; * ​ ^(https?:) 開頭為https: s?表示s{

JavaScript表示式整理

只能輸入字串為數字:“^[-+]?[0-9]+\.[0-9]+$” 只能輸入數字:"^[0-9]*$" 只能輸入 n 位的數字:"^\d{n}$" 只能輸入至少 n 位的數字:"^\d{n,}$" 只能輸入 m ~ n 位的數字:"^\d{m,n}$" 只能輸入零和非零開頭

初識JavaScript表示式

RegExp:正則表示式的作用:匹配特殊字元或有特殊搭配原則的字元的最佳選擇。 正則表示式的兩種新建方式; 1.直接量 var reg = /pattern/attributes 引數 pattern 是一個字串,指定了正則表示式的模式或其他正則表示式。 引數

瞭解JavaScript表示式

正則表示式修飾符: i :執行對大小寫不敏感的匹配。 g :執行全域性匹配(查詢所有匹配而非在找到第一個匹配後停止)。 var reg = /ab/; var str = "ababababab"; 在沒有全域性匹配的時候,只返回一個 var reg