一、repalce定義
用於在字串中用一些字元替換另一些字元,或替換乙個與正規表示式匹配的子串。12
345stringobject.replace(regexp/substr,replacement);
引數一:必需,規定的字串或者正規表示式
引數二:必需,乙個字串值。規定了替換文字或生成替換文字的函式。
!!!replacement 中的 $ 字元具有特定的含義。詳情見w3c
二、有$1,$2...的例子12
345//把 "doe, john" 轉換為 "john doe" 的形式:
var
str =
"doe, john"
;
str.replace(/(\w+)\s*, \s*(\w+)/,
"$2 $1"
);
說明:$1,$2上就是按順序對應小括號裡面的小正則 捕獲到的內容。
三,第二個引數是函式12
3456
78910
1112
把字串中所有單詞的首字母都轉換為大寫:
var
str =
'aaa bbb ccc'
;
uw=str.replace(/\b\w+\b/g,
function
(word)
);
說明:匹配一次就執行一次函式,匹配的內容作為引數
//把數字轉成對應的漢子
var
ary=[
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
]
"123456"
.replace(/\d/g,
function
(val))
四、乙個栗子,實現模板字元替換12
3456
var
obj =
var
str =
"我是},name是我的名字,我今年}歲"
;
//最終替換成"我是leaf,name是我的名字,我今年20歲"
實現:123
function
render(template, context) \}/g, (match, key) => context[key.trim()]);
}
說明:1、.*? 非貪婪匹配模式
2、每個匹配的這則組合執行一次函式
五、其他常用正則替換12
3456
78910
1112
1314
1516
1718
1920
2122
2324
2526
2728
2930
3132
3334
3536
37//去除空格
string.prototype.trim = function()
//去除換行
function clearbr(key)
//去除左側空格
function ltrim(str)
//去右空格
function rtrim(str)
//去掉字串兩端的空格
function trim(str)
//去除字串中間空格
function ctim(str)
//是否為由數字組成的字串
function is_digitals(str)
//單詞首字母大寫function upppercase(str)
不用正則實現js中replace全域性替換的功能
1.我們替換,一般用下面方法 qwew replace w g,這種方法,很方便 2.問題是萬一我們要替換的內容中含有特殊字元,如 這種情況下,我們就必須將 進行轉義,即 qw ew replace w g,3.還有些具體的情況下,如我們要替換的內容是可變的且含有特殊字元,那麼我們用2的方法就顯得很...
replace中的正則
replace 把原有的字元替換成新的字元 var str pku2016pku2017 str str.replace pku pkusoft console.log str pkusoft2016pku2017在不使用正則的情況下,每次執行只能替換乙個字元,每次執行都是從0開始替換,有重複的,無...
JS中replace全部替換
今天遇到乙個問題,用replace只能替換乙個字元,不能替換字串中的全部字元,在網上找了很久也沒找到答案,有的說用 string.prototype.replaceall function findtext,reptext let regexp new regexp findtext,g retur...