RegExp:spa
在js中沒有replaceAll ,所以須要替換所有須要用正則來替換。regexp
/gi ,g表示全局global,i表示忽略大小寫 ignore對象
數字檢驗:ci
var regexp=/^\d+$/;字符串
regexp.test(str)get
多個內容匹配:io
var name = name.search(/中國|日本/i);table
在使用正則時,若是遇到特殊含義字符須要轉義\。function
若是在new RegExp中須要對含義內容轉義,好比:class
name.search(/\w+/i) 查找{
使用RegExp new RegExp("\\w+") , new RegExp("日本\|中國")
替換:
日期格式化替換 $1 $2爲保留的項 匹配時須要用()包起來:
fmtDate = function(_datestr, _pattern){
var date = new Date(_datestr);
var year = date.getYear() + 1900;
var month = date.getMonth() + 1 > 12 ? 1 : date.getMonth() + 1;
var day = date.getDate();
_pattern = _partten.replace(/y{1,4}(-)m{1,2}(-)d{1,2}/gi, year + "$1" + month + "$2" + day);
return _pattern;
}
正則替換:
如下是給匹配的內容添加下劃線
var exp = new RegExp(searchTxt,'g');
var result = targetTxt.replace(exp,"<u>" + searchTxt + "</u>");
有含義的特殊字符:
特別字符 |
說明 |
$ |
匹配輸入字符串的結尾位置。若是設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符自己,請使用 \$。 |
( ) |
標記一個子表達式的開始和結束位置。子表達式能夠獲取供之後使用。要匹配這些字符,請使用 \( 和 \)。 |
* |
匹配前面的子表達式零次或屢次。要匹配 * 字符,請使用 \*。 |
+ |
匹配前面的子表達式一次或屢次。要匹配 + 字符,請使用 \+。 |
. |
匹配除換行符 \n以外的任何單字符。要匹配 .,請使用 \。 |
[ ] |
標記一箇中括號表達式的開始。要匹配 [,請使用 \[。 |
? |
匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字符,請使用 \?。 |
\ |
將下一個字符標記爲或特殊字符、或原義字符、或向後引用、或八進制轉義符。例如, ‘n' 匹配字符‘n'。'\n' 匹配換行符。序列 ‘\\' 匹配 「\」,而 ‘\(' 則匹配 「(」。 |
^ |
匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。要匹配 ^ 字符自己,請使用 \^。 |
{ } |
標記限定符表達式的開始。要匹配 {,請使用 \{。 |
| |
指明兩項之間的一個選擇。要匹配 |,請使用 \|。 |