JS筆記2 正規表示式

2021-09-26 08:23:09 字數 3548 閱讀 6644

.  表示的是:除了\n以外的任意的乙個字元

表示的是:範圍 [0-9] 表示的是0到9之間的任意的乙個數字

[a-z] 表示的是:所有的小寫的字母中的任意的乙個

[a-z] 表示的是:所有的大寫的字母中的任意的乙個

[a-za-z] 表示的是:所有的字母的任意的乙個

[0-9a-za-z] 表示的是: 所有的數字或者是字母中的乙個

[.] 就是乙個.

() 分組 提公升優先順序 [0-9]|([a-z])|[a-z]

*   表示的是:前面的表示式出現了0次到多次

[a-z][0-9]* 小寫字母中的任意乙個 後面是要麼是沒有數字的,要麼是多個數字的

+ 表示的是:前面的表示式出現了1次到多次

[a-z][9]+ 小寫字母乙個後面最少乙個9,或者多個9`在這裡插入**片`

? 表示的是:前面的表示式出現了0次到1次,最少是0次,最多1次

表示的是前面的表示式出現了0次到多次 作用和 *一樣

表示的是前面的表示式出現了1次到多次 作用和 +一樣

表示的是前面的表示式出現了0次到1次 作用和 ?一樣

表示的是前面的表示式出現了5次到10次

前面的表示式出現了4次

錯誤寫法***

^ 表示的是以什麼開始,或者是取非(取反) ^[0-9] 以數字開頭 ^[a-z] 以小寫字母開始

[^0-9] 取反,非數字 [^a-z] 非小寫字母

$ 表示的是以什麼結束 [0-9][a-z]$ 必須以小寫字母結束

\d 數字中的任意乙個 \d 非數字中的乙個

\s 空白符中的乙個 \s 非空白符

\w 非特殊符號(字母 數字或下劃線) \w 特殊符號

\b 單詞的邊界

身份證的正規表示式  15位或者18位 

([1-9][0-9])([0-9][0-9xx])?

([1-9][0-9])|([1-9][0-9][0-9xx])

郵箱的正規表示式 [email protected]

[0-9a-za-z_.-]+[@][0-9a-za-z_.-]+([.][a-za-z]+)

座機號碼的正規表示式 010-19876754

[0-9][-][0-9]

\d[-]\d

1.通過建構函式建立物件

var reg=new regexp(/\d/); //建立物件

var flag=reg.test("我的**是10086"); //使用test方法測試

console.log(flag);

2.字面量的方式建立物件

var reg=/\d/;

var flag=reg.test("小蘇的幸運數字:888");

console.log(flag);

g 全域性模式匹配

i 忽略大小寫

var str="中國移動:10086,中國聯通:10010,中國電信:10000";

//把裡面所有的數字全部顯示出來

var array=str.match(/\d/g);

console.log(array); //(3) ["10086", "10010", "10000"]

var str = "[email protected],[email protected] [email protected] 2、[email protected] [email protected]...";

var array = str.match(/\w+@\w+\.\w+(\.\w+)?/g);

console.log(array);

//["[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]"]

//提取某個日期中的日

var time = '2019-08-28'

var array = time.match(/(\d)[-](\d)[-](\d)/) //加括號 將匹配到的字串分組

console.log(regexp.$3) //28

//提取郵箱中的使用者名稱部分

var email="[email protected]";

//郵箱的正規表示式

email.match(/([0-9a-za-z.-_]+)[@]([0-9a-za-z-_]+)(([.][a-za-z]+))/)

console.log(regexp.$1)//使用者名稱 shuaiyangtaishuaile

console.log(regexp.$2)//郵箱名 itcast

console.log(regexp.$3)//網域名稱 .com.cn

replace方法接收兩個引數,第乙個引數是原字串中要被替換的,可以是字串(只能替換乙個)或者正規表示式(指定全域性匹配g可以替換所有),第二個引數是要替換成的。

var str="小蘇好帥哦,真的是太帥了,帥,就是真帥";

str=str.replace(/帥/g,"猥瑣");

console.log(str); //小蘇好猥瑣哦,真的是太猥瑣了,猥瑣,就是真猥瑣

trim只能刪除首尾兩端的空格,但是不能刪除字串中間的空格

var str="  哦買噶的    ,太幸福了  ";

str=str.trim();

console.log("==="+str+"===");//===哦買噶的 ,太幸福了===

var str = "  哦買噶的    ,太幸福了  ";

str = str.replace(/\s+/g, "");

console.log("===" + str + "===");//===哦買噶的,太幸福了===

exec方法接收乙個引數:要進行匹配的字串

在設定全域性匹配的情況下,exec方法每次也只能返回乙個匹配項。多次呼叫該方法,每次exec都會在字串中繼續查詢匹配項,並返回乙個陣列,直到找不到匹配項返回null。

如果不設定全域性匹配,多次呼叫該方法也只能返回該字串中第乙個匹配項。

返回的陣列中,第乙個是字串中的匹配資訊。

var str = "中國移動:10086,中國聯通:10010,中國電信:10000";

js 正規表示式2

對於某些特殊的字元,我們 必須轉義一下才可以使用。注意一點,我們使用那些需要轉義的字元是通過 相應的字元來構成的,記住是 而不也是 特別字元 說明 匹配輸入字串的結尾位置。如果設定了 regexp 物件的 multiline 屬性,則 也匹配 n 或 r 要匹配 字元本身,請使用 標記乙個子表示式的...

JS筆記 正規表示式

正規表示式用於定義一些字串的規則,計算機可以根據正規表示式,來檢查乙個字串是否符合規則,獲取將字串中符合規則的內容提取出來。建立正規表示式物件 語法 var 變數 new regexp 正規表示式 匹配模式 使用typeof檢查正則物件,會返回object。在建構函式中可以傳遞乙個匹配模式作為第二個...

js數字正規表示式,js小數正規表示式

js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...