4.7 正規表達式(Regular Expression)

javascript/practice 資料夾下,建立 regular_expression.html 檔案,以便練習。

使用方式

驗證

  • 定義一個字串的規則格式:寫法為 /正規表示式/

  • 再使用 .test() 方法,來驗證給定的字串是否符合規則,是的話回傳 true,反之回傳 false

例:

// 定義一個比對的規則,以下的 \s{1} 表示僅能有1個空格。
var pattern = /the\s{1}book/;
// 或以下這個寫法:
//var pattern = new RegExp(/the\s{1}book/);


// 以下是想要比對的字串
var str = "the book";
//var str = "The book";

alert(pattern.test(str));

延續上例,若希望不區分大小寫,就將:

var pattern = /the\s{1}book/;

改成:

var pattern = /the\s{1}book/i; // i 是 ignore(忽略) 的意思。
// 或
// var pattern = new RegExp(/the\s{1}book/, "i");

取代

有分大小寫:

var str = "visit abc and def and abc";
var new_str = str.replace(/ABC/, "101"); // 找不到

console.log(new_str); // visit abc and def and abc

希望不分大小寫(但只會取代找到的第一個):

var str = "visit abc and def and abc";
var new_str = str.replace(/ABC/i, "101");

console.log(new_str); // visit 101 and def and abc

全部搜尋取代,且不分大小寫:

var str = "visit abc and def and abc";
var new_str = str.replace(/ABC/ig, "101");

console.log(new_str); // visit 101 and def and 101

特殊字元列表

練習

修改以下原始碼,試著比對行動電話號碼:09 開頭,且總共一定要 10 個位數:

var pattern;

var str = "";

console.log(pattern.test(str));

參考作法:

Last updated