javascript的replace方法結(jié)合正則使用實例總結(jié)
本文實例總結(jié)了javascript的replace方法結(jié)合正則使用方法。分享給大家供大家參考,具體如下:
replace()方法用于在字符串中用一些字符替換另一些字符,或者替換一個正則表達(dá)式匹配的字符串
例子一:直接使用repalce替換
var stringObj="終古人民共和國,終古人民";
//替換錯別字“終古”為“中國”
//并返回替換后的新字符
//原字符串stringObj的值沒有改變
var newstr=stringObj.replace("終古","中國");
//中國人民共和國,終古人民
alert(newstr);
例子二:使用正則表達(dá)式,全部替換
var str="終古人民共和國,終古人民"; var newstr=str.replace(/(終古)/g,"中國"); //中國人民共和國,中國人民 alert(newstr);
等價于
var reg=new RegExp("終古","g"); //創(chuàng)建正則RegExp對象
var stringObj="終古人民共和國,終古人民";
var newstr=stringObj.replace(reg,"中國");
alert(newstr);
例子三:正則表達(dá)式,變量匹配
var resource="終古"; var target="中國"; var reg=new RegExp(resource,"g"); //創(chuàng)建正則RegExp對象 var stringObj="終古人民共和國,終古人民"; var newstr=stringObj.replace(reg,target); alert(newstr);
例子四:正則分組匹配
var strM = "javascript is a good script language"; //$1匹配的是javascript,$2匹配的是is //最終返回的值是"javascript is fun. it is" + strM //即javascript is 被替換為 javascript is fun. it is alert(strM.replace(/(javascript)\s*(is)/g,"$1 $2 fun. it $2"));
例子五:使用回調(diào)函數(shù)做詳細(xì)處理
var name="aaa bbb ccc";
//name字符串去匹配/\b\w+\b/g表達(dá)式,結(jié)果有三個——aaa,bbb,ccc;每個結(jié)果執(zhí)行function里面的方法
var uw = name.replace(/\b\w+\b/g,function(word){
//word是匹配的字符串
alert(word);
return word.substring(0,1).toUpperCase()+word.substring(1);
});
alert(uw);
例子六:比較生僻的寫法
var reg=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi");
var url="http://www.qidian.com/BookReader/1017141,20361055.aspx";
//方式一,最簡單常用的方式
var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3");
alert(rep);
//方式二 ,采用固定參數(shù)的回調(diào)函數(shù)
var rep2=url.replace(reg,function(m,p1,p2,p3){
return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3
});
alert(rep2);
//方式三,采用非固定參數(shù)的回調(diào)函數(shù)
var rep3=url.replace(reg,function(){
var args=arguments;
return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];
});
alert(rep3);
function ReplaceDemo(){
var r, re; // 聲明變量。
var ss = "The rain in Spain falls mainly in the plain.";
// \s表示的是空格,則\S表示的是非空格,因此/(\S+)(\s+)(\S+)/g匹配的是“非空格空格非空格”的結(jié)果
//匹配的結(jié)果有The rain、in Spain、falls mainly、in the
//替換后的結(jié)果有rain The、Spain in、mainly falls、the in
re = /(\S+)(\s+)(\S+)/g; // 創(chuàng)建正則表達(dá)式模式。
//更改匹配結(jié)果之間的順序
r = ss.replace(re, "$3$2$1"); // 交換每一對單詞。
return(r); // 返回結(jié)果字符串。
}
alert(ReplaceDemo());
name = "Doe, John"; //更改兩個單詞之間的順序 var temp = name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1"); alert(temp);
function SDReplaceData(objStr)
{
return objStr.replace( /(\&|\')/g,
function($0, $1)
{
return{
"&" : "&"
, "'" : "'"
}[$1];
}
);
}
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- JS利用正則配合replace替換指定字符
- js使用正則實現(xiàn)ReplaceAll全部替換的方法
- javascript 正則替換 replace(regExp, function)用法
- JS使用replace()方法和正則表達(dá)式進(jìn)行字符串的搜索與替換實例
- js正則表達(dá)式之replace函數(shù)用法
- js字符串替換所有的指定字符或文字(推薦replaceAll方法)
- javascript replace方法與正則表達(dá)式
- JavaScript replace(rgExp,fn)正則替換的用法
- javascript中基于replace函數(shù)的正則表達(dá)式語法
- JS的replace方法與正則表達(dá)式結(jié)合應(yīng)用講解
- js正則查找match()與替換replace()用法實例
- javascript replace()正則替換實現(xiàn)代碼
相關(guān)文章
uniapp實現(xiàn)tabBar-switchTab之間的傳參方法
這篇文章主要介紹了uniapp實現(xiàn)tabBar-switchTab之間的傳參方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01
JS基于構(gòu)造函數(shù)實現(xiàn)的菜單滑動顯隱效果【測試可用】
這篇文章主要介紹了JS基于構(gòu)造函數(shù)實現(xiàn)的菜單滑動顯隱效果,可實現(xiàn)基本的菜單折疊與展開功能,涉及javascript響應(yīng)鼠標(biāo)事件動態(tài)操作頁面元素的相關(guān)技巧,需要的朋友可以參考下2016-06-06
javascript動態(tài)創(chuàng)建及刪除元素的方法
這篇文章主要介紹了javascript動態(tài)創(chuàng)建及刪除元素的方法,涉及針對DOM元素操作的技巧,非常具有實用價值,需要的朋友可以參考下2014-12-12

