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 任意數字 在正規表示式中使用 作為轉義字元 來表示.表示 注意 使用建構函式時,由於它的引數是乙個字串,而 是字串中轉義字元,如果要使用 則需要使用 來代替 通過量詞可以設...