標籤:正則表達 regex number 參數 數字 多次 時間 基本文法 第一個
一、 基本文法
1 直接量文法
/pattern/attributes
2 建立RegExp對象文法
new RegExp( pattern, attributes);
參數介紹:
pattern:參數 pattern 是一個字串,指定了Regex的模式或其他Regex。
參數 attributes 是一個可選的字串,包含屬性 "g"、"i" 和 "m",分別用於指定全域匹配、區分大小寫匹配和多行匹配。ECMAScript 標準化之前,不支援 m 屬性。如果 pattern 是 Regex,而不是字串,則必須省略該參數。
二、經典執行個體
1 正則實現去除時間後面的時分秒(2017/7/9 00:00:00)
var str = "2017/7/9 00:00:00";
str.replace(/(\S+)\s(\S+)/,"$1");
result: 2017/7/9
註:\S代表尋找一個非空白字元 \s代表尋找一個空白字元 +代表匹配前面的子運算式一次或多次(大於等於1次)
$1代表第一個括弧裡面的匹配到的內容
2 正則實現數字千分位
var num = 1245354;
var str = num.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g,"$1,");
result: "1,245,354.00"
註: toFixed() 方法可把 Number 四捨五入為指定小數位元的數字。
(\d)代表匹配一個數字
(\d{3}) 代表匹配三個長度的數字
(\d)(? = (\d{3})) 代表匹配的\d這個數字後面需要有三個數字
+代表匹配的前一個運算式成立一個或多次(即匹配的數字後面長度可以是3也可以是6或其它倍數)
\.轉譯表示.號是普通的.號,這個要求匹配的數字不僅要滿足上面的要求,還要滿足後面是3位或6位或其他倍數接下來的需要是.號
g代表全域尋找
jsRegex