參數 g
g 只影響於 exec、match 方法。
若不指定 g,則:每次調用 exec 都只返回第一個匹配;match 也是只返回第一個匹配。
若指定 g,則:每次調用 exec 都從上一個匹配之后查找新的匹配;match 則是返回所有的匹配。
還有一種情況,就是使用 string 對象的 replace 方法時,指定 g 表示替換所有。
var str = “1a1b1c”;
alert(str.replace(/1/, “”)); // a1b1c
alert(str.replace(/1/g, “”)); // abc
參數 i
參數 i 是指忽略大小寫,注意僅是忽略大小寫,並不忽略全半角。
參數 m
m 影響對行首、行尾的解釋,也就是影響 ^、$。
若不指定 m,則:^ 只在字符串的最開頭,$ 只在字符串的最結尾。
若指定 m,則:^ 在字符串每一行的開頭,$ 在字符串第一行的結尾。
var str = “123\r\n456″;
var reg1 = new RegExp(“^123$\r\n^456$”, “m”); // true
var reg2 = new RegExp(“^123$\r\n^456$”, “”); // false
var reg3 = new RegExp(“123\r\n456″, “m”); // true
var reg4 = new RegExp(“123\r\n456″, “”); // true
alert(reg1.test(str) + “\r\n” + reg2.test(str) + “\r\n” + reg3.test(str) + “\r\n” + reg4.test(str));
轉自:http://www.smalluv.com/regex_parameter_g_i_m.html