正則表示式(JavaScript)
阿新 • • 發佈:2018-11-22
1、g的作用
let reg1 = /3/; let reg2 = /3/g; let x = '353';
則:x.match(reg1)只能匹配到第一個符合條件的子串,x.match(reg2)能匹配所有符合條件的子串
2、利用正則表示式進行匹配替換
正則替換時,第二個引數可以是函式
function replaceFun(text) {return "^^" + text + "&&"};
let x = "aaa3aaa3aaa3aaa";
let reg = /[\d]/g;
x.replace(reg, replaceFun)
返回結果 "aaa^^3&&aaa^^3&&aaa^^3&&aaa"
正則匹配時幾個特殊的符號
字元 | 替換文字 | 例子 |
$1、$2、...、$99 | 與 reg 中的第 1 到第 99 個子表示式相匹配的文字。 | let x="3a4a5a" let reg=/(3)a(4)a/g; x.replace(reg,'$1^^$2&&'); 輸出 "3^^4&&5a" |
$& | 與 rege 相匹配的子串。 |
let x="3a4a5a" let reg=/[\d]/g; x.replace(reg,'^^$&**'); 輸出 "^^3**a^^4**a^^5**a" |
$` | 位於匹配子串左側的文字。 | let x="a3b4c5d" let reg=/[\d]/g; x.replace(reg,'$`'); 輸出 "aaba3bca3b4cd" |
$' | 位於匹配子串右側的文字。 | let x="a3b4c5d" let reg=/[\d]/g; x.replace(reg,"$'"); 輸出 "ab4c5dbc5dcdd" |
3、利用正則表示式清除瀏覽器cookie
/**
* 清除所有cookie
*/
function clearAllCookie() {
const reg = /[^ =;]+(?=\=)/g; // 《JavaScript權威指南》正則表示式一章(10.1.5 指定匹配規則)可以參考著理解該正則表示式
const keys = document.cookie.match(reg) || [];
keys.forEach(function(key){
document.cookie = `${key}=0;expires=${new Date(0).toString()}`;
});
}
教程:http://www.runoob.com/regexp/regexp-tutorial.html