用JavaScript實(shí)現(xiàn)全局替換,解決$等特殊符號(hào)的難題[
更新時(shí)間:2006年12月11日 00:00:00 作者:
感謝海浪提供的正則,原貼請(qǐng)參見:
http://www.iecn.net/bbs/view/106503.html
因?yàn)橐鰝€(gè)模板替換的東西,里面的變量采用${MyName}這種格式的命名方式。在進(jìn)行全局替換時(shí),遇到兩個(gè)難點(diǎn):
1.要么無法替換掉$等特殊符號(hào)
2.要么無法忽略大小寫
在海浪有幫助下,終于有了最佳實(shí)現(xiàn)方式:)
最佳實(shí)現(xiàn)方式:
以前使用方法一:(可實(shí)現(xiàn)忽略大小,但無法實(shí)現(xiàn)特殊符號(hào)的替換)
http://www.iecn.net/bbs/view/106503.html
因?yàn)橐鰝€(gè)模板替換的東西,里面的變量采用${MyName}這種格式的命名方式。在進(jìn)行全局替換時(shí),遇到兩個(gè)難點(diǎn):
1.要么無法替換掉$等特殊符號(hào)
2.要么無法忽略大小寫
在海浪有幫助下,終于有了最佳實(shí)現(xiàn)方式:)
最佳實(shí)現(xiàn)方式:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
String.prototype.replaceAll = stringReplaceAll;
function stringReplaceAll(AFindText,ARepText){
var raRegExp = new RegExp(AFindText.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g,"\\$1"),"ig");
return this.replace(raRegExp,ARepText);
}
var ssString="www.cnlei.com;www.CnLei.net;www.cnlei.org";
alert(ssString.replaceAll("cnlei","iecn"));
ssString="www.${MyName}.com;www.${MyName}.net;www.${MyName}.org";
alert(ssString.replaceAll("${MyName}","cnlei"));
ssString="www.{MyName}.com;www.{MyName}.net;www.{MyName}.org";
alert(ssString.replaceAll("{MyName}","cnlei"));
</script>
String.prototype.replaceAll = stringReplaceAll;
function stringReplaceAll(AFindText,ARepText){
var raRegExp = new RegExp(AFindText.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g,"\\$1"),"ig");
return this.replace(raRegExp,ARepText);
}
var ssString="www.cnlei.com;www.CnLei.net;www.cnlei.org";
alert(ssString.replaceAll("cnlei","iecn"));
ssString="www.${MyName}.com;www.${MyName}.net;www.${MyName}.org";
alert(ssString.replaceAll("${MyName}","cnlei"));
ssString="www.{MyName}.com;www.{MyName}.net;www.{MyName}.org";
alert(ssString.replaceAll("{MyName}","cnlei"));
</script>
以前使用方法一:(可實(shí)現(xiàn)忽略大小,但無法實(shí)現(xiàn)特殊符號(hào)的替換)
復(fù)制代碼 代碼如下:
<script type="text/javascript">
String.prototype.replaceString = stringReplaceAll;
function stringReplaceAll(AFindText,ARepText){
var raRegExp = new RegExp(AFindText,"ig");
return this.replace(raRegExp,ARepText);
}
var ssString="www.cnlei.com;www.CnLei.net;www.cnlei.org";
alert(ssString.replaceString("cnlei","iecn"));
ssString="www.${MyName}.com;www.${MyName}.net;www.${MyName}.org";
alert(ssString.replaceString("${MyName}","cnlei"));
ssString="www.{MyName}.com;www.{MyName}.net;www.{MyName}.org";
alert(ssString.replaceString("{MyName}","cnlei"));
</script>
以前使用的方式二:(可替換特殊符號(hào)$等,但無法忽略大小寫) String.prototype.replaceString = stringReplaceAll;
function stringReplaceAll(AFindText,ARepText){
var raRegExp = new RegExp(AFindText,"ig");
return this.replace(raRegExp,ARepText);
}
var ssString="www.cnlei.com;www.CnLei.net;www.cnlei.org";
alert(ssString.replaceString("cnlei","iecn"));
ssString="www.${MyName}.com;www.${MyName}.net;www.${MyName}.org";
alert(ssString.replaceString("${MyName}","cnlei"));
ssString="www.{MyName}.com;www.{MyName}.net;www.{MyName}.org";
alert(ssString.replaceString("{MyName}","cnlei"));
</script>
復(fù)制代碼 代碼如下:
<script type="text/javascript">
String.prototype.replaceString = function(s1,s2){
this.str=this;
if(s1.length==0)return this.str;
var idx=this.str.indexOf(s1);
while(idx>=0){
this.str=this.str.substring(0, idx)+s2+this.str.substr(idx+s1.length);
idx=this.str.indexOf(s1);
}
return this.str;
}
var ssString="www.cnlei.com;www.CnLei.net;www.cnlei.org";
alert(ssString.replaceString("cnlei","iecn"));
ssString="www.${MyName}.com;www.${MyName}.net;www.${MyName}.org";
alert(ssString.replaceString("${MyName}","cnlei"));
ssString="www.{MyName}.com;www.{MyName}.net;www.{MyName}.org";
alert(ssString.replaceString("{MyName}","cnlei"));
</script>
String.prototype.replaceString = function(s1,s2){
this.str=this;
if(s1.length==0)return this.str;
var idx=this.str.indexOf(s1);
while(idx>=0){
this.str=this.str.substring(0, idx)+s2+this.str.substr(idx+s1.length);
idx=this.str.indexOf(s1);
}
return this.str;
}
var ssString="www.cnlei.com;www.CnLei.net;www.cnlei.org";
alert(ssString.replaceString("cnlei","iecn"));
ssString="www.${MyName}.com;www.${MyName}.net;www.${MyName}.org";
alert(ssString.replaceString("${MyName}","cnlei"));
ssString="www.{MyName}.com;www.{MyName}.net;www.{MyName}.org";
alert(ssString.replaceString("{MyName}","cnlei"));
</script>
您可能感興趣的文章:
- C#將隱私信息(銀行賬戶,身份證號(hào)碼)中間部分特殊字符替換成*
- PHP的substr_replace將指定兩位置之間的字符替換為*號(hào)
- PHP中利用substr_replace將指定兩位置之間的字符替換為*號(hào)
- 使用正則表達(dá)式替換表情符號(hào)核心代碼
- js正則實(shí)現(xiàn)的密碼框簡(jiǎn)單制作,還可以替換成自己想用得符號(hào)
- IOS代碼筆記UIView的placeholder的效果
- IOS代碼筆記之文字走馬燈效果
- IOS代碼筆記之下拉選項(xiàng)cell
- IOS代碼筆記之下拉菜單效果
- IOS如何替換電話號(hào)碼中間4位為"-"符號(hào)
相關(guān)文章
用正則表達(dá)式匹配字符串中漢字及中文標(biāo)點(diǎn)符號(hào)
正則表達(dá)式通常用于判斷某一個(gè)字符串是否符合或滿足某一種格式,下面這篇文章主要給大家介紹了關(guān)于如何使用正則表達(dá)式匹配字符串中漢字及中文標(biāo)點(diǎn)符號(hào)的相關(guān)資料,需要的朋友可以參考下2022-07-07JavaScript正則方法replace實(shí)現(xiàn)搜索關(guān)鍵字高亮顯示
這里介紹的是JavaScript的正則表達(dá)式的replace方法 ,和實(shí)現(xiàn)搜索關(guān)鍵字高亮的功能.先介紹一下正則表達(dá)式的replace方法,具體內(nèi)容詳情大家參考下本文2017-09-09python中使用正則表達(dá)式將所有符合條件的字段全部提取出來
這篇文章主要介紹了python中使用正則表達(dá)式將所有符合條件的字段全部提取出來,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08PHP preg_replace() 正則替換所有符合條件的字符串
PHP preg_replace() 正則替換,與Javascript 正則替換不同,PHP preg_replace() 默認(rèn)就是替換所有符號(hào)匹配條件的元素2014-02-02JS 正則表達(dá)式(學(xué)習(xí)筆記2)匹配網(wǎng)址url參數(shù)
呵呵,剛學(xué)習(xí)正則表達(dá)式,今天幫一個(gè)美女解決了個(gè)問題。感到很高興。先貼下今天都學(xué)了什么吧。不然忘記了。2010-05-05教你用正則表達(dá)式提取數(shù)字和小數(shù)點(diǎn)
最近開發(fā)遇到一個(gè)新的東西,需要將里面的數(shù)字提取出來,下面這篇文章主要給大家介紹了關(guān)于用正則表達(dá)式提取數(shù)字和小數(shù)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2022-09-09