標籤:
一: 準備知識:
1.定義:replace() 方法用於在字串中用一些字元替換另一些字元,或替換一個與Regex匹配的子串。
2.文法:
stringObject.replace(regexp/substr,replacement)
3.說明:
1)第一個參數可以是 正則 / 字串
tips: 如果該值是一個字串,則將它作為要檢索的直接量文字模式,而不是首先被轉換為 RegExp 對象。
2)第二個參數可以是 字串 / 函數
tips: 函數的時候,每個匹配都調用該函數,它返回的字串將作為替換文本使用。
該函數的
第一個參數是 匹配模式的字串。
第二個參數是 與模式中的子運算式匹配的字串,可以有 0 個或多個這樣的參數。
第三個參數是一個整數,聲明了匹配在 stringObject 中出現的位置。
第四個參數是 stringObject 本身
4. 正則相關知識
1)正則對象文法
直接量文法
/pattern/attributes
正則對象文法
new RegExp(pattern, attributes);
// 第一個參數:一個 字串 或者 Regex
// 第二個參數:[可選] 包含屬性"g","i","m";
// 需要注意的是 要是 第一個參數是 字串的話 m 必須省略
2)說明:
i: 執行對大小不敏感的匹配
g: 執行全域匹配( 尋找所有的匹配而不是在找到第一個匹配後停止 );
m: 執行多行匹配
其他正則請點擊:
二. 樣本:
1.全域替換111為aaa
var str = ‘111bbb‘;str = str.replace( /111/g, ‘aaa‘ );alert(str);
2.找到 "(數字@三位元字)" 的格式,替換成a標籤 裡麵包含三位元字
html:
<ul id="ul1"> <li>([email protected])我愛</li> <li>([email protected])北京</li> <li>([email protected])</li></ul>
js:
$.each( $(‘li‘), function(i, item){ var newHtml = $(this).html(); newHtml = newHtml.replace(/\(\d\@(\d{3})\)/, function ($0, $1) { return ‘<a href="#">‘+ $1 +‘</a>‘; }); $(this).html( newHtml );});
js中replace的應用