javascript的replace方法結(jié)合正則使用實(shí)例總結(jié)
本文實(shí)例總結(jié)了javascript的replace方法結(jié)合正則使用方法。分享給大家供大家參考,具體如下:
replace()方法用于在字符串中用一些字符替換另一些字符,或者替換一個(gè)正則表達(dá)式匹配的字符串
例子一:直接使用repalce替換
var stringObj="終古人民共和國(guó),終古人民"; //替換錯(cuò)別字“終古”為“中國(guó)” //并返回替換后的新字符 //原字符串stringObj的值沒(méi)有改變 var newstr=stringObj.replace("終古","中國(guó)"); //中國(guó)人民共和國(guó),終古人民 alert(newstr);
例子二:使用正則表達(dá)式,全部替換
var str="終古人民共和國(guó),終古人民"; var newstr=str.replace(/(終古)/g,"中國(guó)"); //中國(guó)人民共和國(guó),中國(guó)人民 alert(newstr);
等價(jià)于
var reg=new RegExp("終古","g"); //創(chuàng)建正則RegExp對(duì)象 var stringObj="終古人民共和國(guó),終古人民"; var newstr=stringObj.replace(reg,"中國(guó)"); alert(newstr);
例子三:正則表達(dá)式,變量匹配
var resource="終古"; var target="中國(guó)"; var reg=new RegExp(resource,"g"); //創(chuàng)建正則RegExp對(duì)象 var stringObj="終古人民共和國(guó),終古人民"; 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é)果有三個(gè)——aaa,bbb,ccc;每個(gè)結(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);
例子六:比較生僻的寫(xiě)法
var reg=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi"); var url="http://www.qidian.com/BookReader/1017141,20361055.aspx"; //方式一,最簡(jiǎn)單常用的方式 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"); // 交換每一對(duì)單詞。 return(r); // 返回結(jié)果字符串。 } alert(ReplaceDemo());
name = "Doe, John"; //更改兩個(gè)單詞之間的順序 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á)式在線(xiàn)測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線(xiàn)生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS利用正則配合replace替換指定字符
- js使用正則實(shí)現(xiàn)ReplaceAll全部替換的方法
- javascript 正則替換 replace(regExp, function)用法
- JS使用replace()方法和正則表達(dá)式進(jìn)行字符串的搜索與替換實(shí)例
- js正則表達(dá)式之replace函數(shù)用法
- js字符串替換所有的指定字符或文字(推薦replaceAll方法)
- javascript replace方法與正則表達(dá)式
- JavaScript replace(rgExp,fn)正則替換的用法
- javascript中基于replace函數(shù)的正則表達(dá)式語(yǔ)法
- JS的replace方法與正則表達(dá)式結(jié)合應(yīng)用講解
- js正則查找match()與替換replace()用法實(shí)例
- javascript replace()正則替換實(shí)現(xiàn)代碼
相關(guān)文章
解決iframe的frameborder在chrome/ff/ie下的差異
最近的項(xiàng)目中使用了動(dòng)態(tài)創(chuàng)建iframe的js方法,發(fā)現(xiàn)iframe.frameborder="0"在IE7下不管用,而chrome/ff都正常的,很是郁悶。2010-08-08分步解析JavaScript實(shí)現(xiàn)tab選項(xiàng)卡自動(dòng)切換功能
這篇文章主要分步解析JavaScript實(shí)現(xiàn)tab選項(xiàng)卡自動(dòng)切換功能代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01微信小程序數(shù)據(jù)分析之自定義分析的實(shí)現(xiàn)
這篇文章主要介紹了微信小程序數(shù)據(jù)分析之自定義分析的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08JavaScript中實(shí)現(xiàn)單體模式分享
這篇文章主要介紹了JavaScript中實(shí)現(xiàn)單體模式分享,單體模式的定義:?jiǎn)误w是一個(gè)用來(lái)劃分命名空間并將一批相關(guān)方法和屬性組織在一起的對(duì)象,如果它能夠被實(shí)例化,那么只能被實(shí)例化一次,需要的朋友可以參考下2015-01-01JavaScript Event學(xué)習(xí)第七章 事件屬性
為了理解Event屬性,我將在這里給出一些示例代碼。在這個(gè)范疇內(nèi)有非常嚴(yán)重的瀏覽器兼容性問(wèn)題。2010-02-02JavaScript設(shè)計(jì)模式之單例模式詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript設(shè)計(jì)模式之例模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06