js的正則物件

2022-03-14 06:03:43 字數 1587 閱讀 9961

1. 定義正則兩種方式

1. var reobj1 = new regexp("^[a-za-z][a-za-z0-9]$");

2. var reobj2 = /^[a-za-z][a-za-z0-9]$/

2. 常用方法

reobj1.test("將要被校驗的字串")

3. 正則的匹配模式

1. g --> 全域性

"alexdashabi".replace(/a/g, "呵呵")

2. i --> 不區分大小寫

"alexdashabi".replace(/a/i, "呵呵")

//

regexp物件 ---> python re模組

//生成regexp物件

var reg1 = new regexp("^[a-za-z][a-za-z0-9_]$");

var regexpret1 = reg1.test("xiaoqiang");

console.log(regexpret1);

//true

var regexpret2 = reg1.test("1xiaoqiang");

console.log(regexpret2); // false

console.log(/^[a-za-z][a-za-z0-9_]$/.test("xiaoqiang")); //不能加空格,否則出現不可預料的錯誤 true

console.log(/^[a-za-z][a-za-z0-9_]$/.test("1xiaoqiang")); // flase

注意點:

1.正規表示式中間一定不可以有空格

2.test()不傳值相當於傳了乙個undefined進去,然後test()就把這個undefined當成是「undefined」來判斷

3.js正則的兩種模式1. g表示全域性  2. i忽略大小寫

var ss = "alexdashabi";

//不是改變預設的字串,而是生成了乙個新的字串

var s3 = ss.replace(/a/gi, "哈哈哈")

console.log(s3); // 哈哈哈lexd哈哈哈sh哈哈哈bi

4.當正規表示式使用了全域性模式(g)的時候,並且你還讓它去檢測乙個字串,此時會引出來乙個

var r = /alex/g;

console.log(r.test("alex")); // true

console.log(r.lastindex); // 列印出4, lastindex(0-3)

console.log(r.test("alex")); // false ,因為是從lastindex=4開始校驗的

console.log(r.lastindex); // 列印出0, lastindex(0-3)

console.log(r.test("alex")); //true 同理

console.log(r.lastindex);

console.log(r.test("alex")); // false

如何避免,解決方法是不需要用全域性g;

JS常用正則表達 RegExp物件

本來想細緻整理一下正規表示式和regexp物件的,但是發現網上完善的教程一抓一大把,於是這篇文章只會記錄一些常常用到的正規表示式以及稍做分析。轉義 b 匹配字元b,b 匹配單詞邊界,a 匹配a aa aaa.a 只匹配a 雙重轉義 這兩個模式起的作用是一樣的,但從普通正規表示式到regexp物件,需...

js 正規表示式物件 RegExp

語法 var patt new regexp pattern,modifiers 或更簡單的方法 var patt pattern modifiers 用 來表示表示式 i 修飾符是用來執行不區分大小寫的匹配。g 修飾符是用於執行全文的搜尋 而不是在找到第乙個就停止查詢,而是找到所有的匹配 注意 當...

js 4 內建物件 8 正則語法

使用 表示或者的意思 裡的內容也是或的關係 ab a b a z 任意小寫字母 a z 任意大寫字母 a z 任意字母 0 9 任意數字 在正規表示式中使用 作為轉義字元 來表示.表示 注意 使用建構函式時,由於它的引數是乙個字串,而 是字串中轉義字元,如果要使用 則需要使用 來代替 通過量詞可以設...