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