国产探花免费观看_亚洲丰满少妇自慰呻吟_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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮南市| 文昌市| 信阳市| 宾阳县| 泸溪县| 光泽县| 霍山县| 海口市| 喀喇沁旗| 建阳市| 田阳县| 温泉县| 阜城县| 阳江市| 嘉黎县| 温州市| 塘沽区| 屏东市| 遂平县| 通道| 东光县| 台安县| 宁波市| 禄丰县| 边坝县| 织金县| 扶风县| 阳东县| 桃园市| 江达县| 东港市| 青州市| 瑞昌市| 寿光市| 嘉兴市| 托里县| 和龙市| 乌鲁木齐市| 惠州市| 额尔古纳市| 阿拉尔市|