正規表示式

2021-10-07 15:17:10 字數 3361 閱讀 9403

正規表示式高階玩法

正規表示式(regular experssion : regexp)

用來處理字串的規則

第二種方式

元字元

特殊元字元

\d0~9任意乙個數字

\d非0~9之間的任意字元

\w字母、數字或下劃線 [a-z 、a-z 、0-9 、_ ]

\w非字母、數字或下劃線

\s匹配任意乙個空白字元 (包括空格、製表符、換頁符)

\b匹配邊界符 "hello-world" (每個單詞旁邊字元)

\n匹配乙個換行符

\轉義字元 ,( \. 只表示乙個小數點)

.

表示除了\n之外的任意字元

^以某個字元開頭

$以某個字元結尾

\t乙個製表符(乙個tab鍵,四個空格)

a|ba或者b任意乙個

[abc]

a或b或c任意乙個

[^abc]

除了a\b\c之外的

[a-z]

表示a到z中任意乙個字母

[0-9]

[0-9] 等價於 \d, 但 是 只 能 寫 0—9 之 間 的 數,如果是【12,35】就不能行。

[^a-z]

表示除了a到z中任意乙個字母

()分組

(?:)

當前分組只匹配不捕獲

(?=)

正向預查

(?!)

反向預查

量詞元字元

*

出現零到多次

?

出現零次 或 一次

+

出現一次到多次

出現 m 次

出現至少 m 次

出現 m~n 次

普通元字元

除上述之外的字元

修飾符

i

ignorecase 忽略大小寫

g

global 全域性匹配

m

multiline 多行匹配

mdn的正則介紹

有效數字的驗證

//可能出現 + - ,也可能不出現。

//一位時0-9都可以,多位時,第一位不能為0

//小數部分可能沒有,也可能有。

// let reg = /^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;

//科學計數法的正規表示式

//let reg1 = /^[+-]?(\d|([1-9]\d+))([.]\d+)?([ee][+-]?\d+)?$/;

密碼驗證

//數字、字母或下劃線

//6-16位

// let reg = /^\w$/;

驗證真實姓名

// 姓名

// 名字長度為2-10

// 可能有譯名·漢字

// let reg = /^\p(·\p)$/u;

驗證郵箱

//開頭是數字、字母或下劃線

// 1、純數字   [email protected]

// 2、純字母      [email protected]

// 3、字母數字混合  [email protected]

// 4、帶點的      [email protected]

// 5、帶下劃線     [email protected]

// 6、帶連線線    [email protected]

// 7、多個字尾 [email protected]

// var reg = /^\w+((-\w+)|(\.\w+))*@[a-za-z0-9]+((\.|-)[a-za-z0-9]+)*\.[a-za-z0-9]+$/;

身份證號碼驗證

新的18位身份證號碼各位的含義:1-

2位省、自治區、直轄市**;3-

4位地級市、盟、自治州**;5-

6位縣、縣級市、區**;7-

14位出生年月日,比如19670401代表2023年4月1日;15-

17位為順序號,其中17位男為單數,女為雙數;

18位為校驗碼,0

-9和x,由公式隨機產生。

//十五位身份證號

// let reg = /^[1-9]\d\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d$/;

//十八位身份證號

// let reg = /^([1-9]\d)(\d)(\d)([1-9]\d)(\d)(\d)(\d)(\d)([0-9xx])$/;

// 十五位身份證號和十八位身份證號整合

// var reg = /(^[1-9]\d(18|19|([23]\d))\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d[0-9xx]$)|(^[1-9]\d\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d$)/;

建構函式因為傳遞的是字串,\ 需要寫兩個才代表斜槓

let

=/\d+/g

;reg =

newregexp

("\\d+"

,"g"

);

正規表示式中的部分內容是變數儲存的值

let type =

"crtel"

;reg=

/^@"+ type +"@$/

;console.

log(reg.

test

("@crtel@"))

;//false

reg =

newregexp

("^@"

+type+

"@$");

console.

log(reg.

test

("@crtel@"))

;//true

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 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 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...