国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

用JavaScript實現全局替換,解決$等特殊符號的難題

2020-03-16 21:22:32
字體:
來源:轉載
供稿:網友
感謝海浪提供的正則,原貼請參見: 
http://www.iecn.net/bbs/view/106503.html 

因為要做個模板替換的東西,里面的變量采用${MyName}這種格式的命名方式。在進行全局替換時,遇到兩個難點: 
1.要么無法替換掉$等特殊符號 
2.要么無法忽略大小寫 

在海浪有幫助下,終于有了最佳實現方式:) 

最佳實現方式: 
復制代碼代碼如下:
<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> 

以前使用方法一:(可實現忽略大小,但無法實現特殊符號的替換) 
復制代碼代碼如下:
<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> 
以前使用的方式二:(可替換特殊符號$等,但無法忽略大小寫) 
復制代碼代碼如下:
<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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 囊谦县| 丰原市| 绵竹市| 湘阴县| 张北县| 交口县| 临清市| 玉田县| 凤城市| 东阿县| 苏尼特右旗| 盐源县| 屏南县| 竹山县| 重庆市| 西乡县| 毕节市| 肃宁县| 昭觉县| 密山市| 茂名市| 东莞市| 屯门区| 永嘉县| 林州市| 苍梧县| 瓮安县| 夏河县| 浮山县| 灵石县| 金平| 竹北市| 白山市| 双柏县| 甘肃省| 大理市| 禹州市| 米脂县| 昌吉市| 乌审旗| 启东市|