正規表示式
而js中的regexp類就是用來表達正規表示式。
用途:就是把能在前端幹的事盡量在前端解決掉,而不浪費伺服器的資源。
//對於正規表示式來說,無論採用哪一種那個申明方式,其返回的永遠是其對應的字面量表示法
//var box = new regexp('box','ig'); // 建構函式表示法 包含兩個引數,第二個引數是可選的 即模式修飾符 i忽略大小寫 g全域性匹配 m多行匹配
// alert(box);
// var box2=/box1/ig; //字面量正則
// alert(box2);
// 測試正規表示式
//test() 查詢字串,查詢成功則返回true,否則返回false exe() 返回乙個查詢字串的陣列,空則返回null
/* var pattern=/box/ig;
var str='box';
alert(pattern.test(str));
alert(/box/ig.test('box')); //一句話匹配
var pattern =/box/ig; // 對於正規表示式來說,用test(),exec()函式是來檢測str字串中是否包含pattern表示式
var str='this is a box';
alert(pattern.test(str));
var pattern =/box/
var str = 'this is a box';
alert(pattern.exec(str)); //返回搜尋到的字串的陣列
/* //字串的正規表示式方法
//match(pattren) 返回pattren中的子串 repalce(pattren ,repalcement); 用replacement來替換pattern
//search(pattern) 返回字串pattern中的起始位置 split(pattern); 返回字串按指定pattern拆分的陣列
/*var pattern =/box/g; //match(pattren) 返回包含pattern的陣列,注:g返回包含多個pattern的陣列
var str='this is a box? that is a box';
alert(str.match(pattern));
var pattern =/box/g; //replace(pattern,replacement); 用replacement來替換pattern,帶有返回值,返回替換後的字串
var str='this is a box? that is a box';
var a=str.replace(pattern,'exe');
alert(a);
var pattern =/box/g; //返回str中pattern的初始位置,查詢即返回,g對其無用,找不到返回-1
var str='this is a box? that is a box';
alert(str.search(pattern));
var pattern =/box/g; //split(pattern) 將pattern來劃分字串,將字串拆分為陣列
var str='this is a box? that is a box';
alert(str.split(' '));
*///正規表示式的靜態屬性和例項屬性(建立例項後才可以使用)
//靜態屬性
/*var pattern =/google/ig;
var str ='this is a google ?';
pattern.test(str); //必須要先執行依一下,靜態屬性才可以生效
alert(regexp.input); //所匹配的正規表示式
alert(regexp.leftcontext); //匹配正規表示式的左子串
alert(regexp.rightcontext); //匹配正規表示式的右子串
alert(regexp.lastmatch); //最後乙個匹配到的字串
alert(regexp.lastparen); //最後一對圓括號裡匹配到的字串
注:靜態屬性可以用短名來匹配
//例項屬性,用來檢查其某些屬性是否生效
var pattern=/box/ig;
alert(pattern.global) //判斷是否支援全域性
alert(pattern.ignorecase); //判斷是否支援忽略大小寫
alert(pattern.multiline); //判斷是否支援換行
alert(pattern.source); //匹配的原字串
var str='box box box box';
pattern.test(str);
pattern.lastindex=100;
*/ //獲取控制,元字元和元符號
var pattern=/bo../ig; // .可以表示除換行以外的其他字元
var str='this is a boox';
alert(pattern.test(str)); //true
var pattern=/bo*x/ig; // x*表示可以匹配0,1,或多個x
var str='this is a boox';
alert(pattern.test(str)); //true
var pattern=/bo+x/ig; // x+可以匹配至少乙個x
var str='this is a bx';
alert(pattern.test(str)); //false
var pattern=/bo?x/ig; // x?可以表示0個或1個
var str='this is a boox';
alert(pattern.test(str)); //false
var pattern=/box/ig; // x表示至少匹配m~n個x x表示只能m次 x表示大於m次 x表示要小於n次
var str='this is a boooox';
alert(pattern.test(str)); //true
var pattern=/b[a-z]*x/ig; // [a-z]表示26個小寫字母都可以任意匹配,也可以多個組合使用
var str='this is a boox';
alert(pattern.test(str)); //true
注:^表示從頭來開始匹配 $表示從尾開始匹配 同時使用表示要和正則完全相同
var pattern=/bo[0-9a-z]x/ig; //多個匹配的組合
var str='this is a bo1x';
alert(pattern.test(str)); //true
var pattern=/bo[^0-9a-z]x/ig; //括號中加^,表示除括號內的其他字元
var str='this is a bo1x';
alert(pattern.test(str)); //false
還有一些特殊的元字元: \w 表示可以匹配大小寫字母和數字及_ \w與\w相反
\d表示任意的數字 \d 表示非數字
js之正規表示式1
1.正則的作用,簡單來說主要是以下幾個 匹配,替換,搜尋,提取 2.正則的兩種建立形式 a perl風格,簡單快速,語法 var reg pattern flages 解釋 pattern是模式,就是你想要點匹配效果,flages是標誌組合 有三個值,g全文搜尋,i 忽略大小寫,m多行查詢。eg 想...
js 正規表示式(1)
正規表示式是前端面試中的高頻考點,但是正則又像一塊裹腳布一樣又臭又長。最近看一些部落格找到一些規律,分享在這裡。正則是匹配模式,要麼匹配字串,要麼匹配位置。1.長度不定 使用量詞 abc 表示在b在a和c 之間出現有2 5次不等。1.字元不定 使用字元組 123 ab 123 c 表示在b和之間可能...
js正規表示式1
知識 阮一峰老師的教程 doctype html html lang en head meta charset utf 8 title title title head body body script 正則物件的屬性和方法 正則物件的屬性分成兩類。一類是修飾符相關,返回乙個布林值,表示對應的修飾符...