標籤:使用 頁面 方式 htm 標籤 意思 取值 用法 name
在head標籤中添加一行代碼:
<html>
<head>
<meta name="renderer" content="webkit|ie-comp|ie-stand">
</head>
<body>
</body>
</html>
content的取值為webkit,ie-comp,ie-stand之一,區分大小寫,分別代表用webkit核心,IE相容核心,IE標準核心。
若頁面需預設用極速核,增加標籤:<meta name="renderer" content="webkit">
若頁面需預設用ie相容核心,增加標籤:<meta name="renderer" content="ie-comp">
若頁面需預設用ie標準核心,增加標籤:<meta name="renderer" content="ie-stand">
注意:引號要英文狀態下的,直接複製代碼後看一下格式對不對,請自行更正。
定義正則:
複製代碼 代碼如下:
var re = new RegExp(“a”); //RegExp對象。參數就是我們想要制定的規則。有一種情況必須用這種方式,下面會提到。
var re = /a/; // 簡寫方法 推薦使用 效能更好 不可為空 不然以為是注釋 ,
正則的常用方法
1 test() :在字串中尋找符合正則的內容,若尋找到返回true,反之返回false.
用法:正則.test(字串)
例子:判斷是否是數字
var str = ‘374829348791‘;
var re = /\D/; // \D代表非數字
if( re.test(str) ){ // 返回true,代表在字串中找到了非數字。
alert(‘不全是數字‘);
}else{
alert(‘全是數字‘);
}
Regex中有很多符號,代表著不同的意思,用來讓我們去定義不同的規則,比如上面\D,還有下面的這些:
\s : 空格
\S : 非空格
\d : 數字
\D : 非數字
\w : 字元 ( 字母 ,數字,底線_ )
\W : 非字元例子:是否有不是數位字元
(下面會根據例子,依次講一些常用的字元,最後再作總結。)
2 search() :在字串搜尋符合正則的內容,搜尋到就返回出現的位置(從0開始,如果匹配的不只是一個字母,那隻會返回第一個字母的位置), 如果搜尋失敗就返回 -1
用法:字串.search(正則)
在字串中尋找複合正則的內容。忽略大小寫:i――ignore(正則中預設是區分大小寫 如果不區分大小寫話,在正則的最後加標識 i )
例子:在字串中找字母b,且不區分大小寫
var str = ‘abcdef‘;
var re = /B/i;
//var re = new RegExp(‘B‘,‘i‘); 也可以這樣寫
alert( str.search(re) ); // 1
3 match() 在字串中搜尋複合規則的內容,搜尋成功就返回內容,格式為數組,失敗就返回null。
用法: 字串.match(正則)
量詞:+ 至少出現一次 匹配不確定的次數(匹配就是搜尋尋找的意思)
全域匹配:g――global(正則中預設,只要搜尋到複合規則的內容就會結束搜尋 )
例子:找出指定格式的所有數字,如下找到 123,54,33,879
複製代碼 代碼如下:
var str = ‘haj123sdk54hask33dkhalsd879‘;
var re = /\d+/g; // 每次匹配至少一個數字 且全域匹配 如果不是全域匹配,當找到數字123,它就會停止了。就只會彈出123.加上全域匹配,就會從開始到結束一直去搜尋符合規則的。如果沒有加號,匹配的結果就是1,2,3,5,4,3,3,8,7,9並不是我們想要的,有了加號,每次匹配的數字就是至少一個了。
alert( str.match(re) ); // [123,54,33,879]
4 replace() :尋找符合正則的字串,就替換成對應的字串。返回替換後的內容。
用法: 字串.replace(正則,新的字串/回呼函數)(在回呼函數中,第一個參數指的是每次匹配成功的字元)
| : 或的意思 。
例子:敏感詞過濾,比如 我愛北京天安門,天安門上太陽升。------我愛*****,****上太陽升。即北京和天安門變成*號,
一開始我們可能會想到這樣的方法:
var str = "我愛北京天安門,天安門上太陽升。";
var re = /北京|天安門/g; // 找到北京 或者天安門 全域匹配
var str2 = str.replace(re,‘*‘);
alert(str2) //我愛**,*上太陽升
//這種只是把找到的變成了一個*,並不能幾個字就對應幾個*。
要想實現幾個字對應幾個*,我們可以用回呼函數實現:
複製代碼 代碼如下:
var str = "我愛北京天安門,天安門上太陽升。";
var re = /北京|天安門/g; // 找到北京 或者天安門 全域匹配
var str2 = str.replace(re,function(str){
alert(str); //用來測試:函數的第一個參數代表每次搜尋到的符合正則的字元,所以第一次str指的是北京 第二次str是天安門 第三次str是天安門
var result = ‘‘;
for(var i=0;i<str.length;i++){
result += ‘*‘;
}
return result; //所以搜尋到了幾個字就返回幾個*
});
alert(str2) //我愛*****,***上太陽升
//整個過程就是,找到北京,替換成了兩個*,找到天安門替換成了3個*,找到天安門替換成3個*。
replace是一個很有用的方法,經常會用到。
正則中的字元
():,小括弧,叫做分組符。就相當於數學裡面的括弧。如下:
複製代碼 代碼如下:
var str = ‘2013-6-7‘;
var re1 = /\d-+/g; // 全域匹配數字,橫杠,橫杠數量至少為1,匹配結果為: 3- 6-
var re1 = /(\d-)+/g; // 全域匹配數字,橫杠,數字和橫杠整體數量至少為1 3-6-
var re2 = /(\d+)(-)/g; // 全域匹配至少一個數字,匹配一個橫杠 匹配結果:2013- 6-
同時,正則中的每一個帶小括弧的項,都叫做這個正則的子項。子項在某些時候非常的有用,比如我們來看一個栗子。
用Meta標籤控制360瀏覽器預設極速模式開啟自己的網站和Regex