用JavaScript实现全局替换,解决$等特殊符号的难题[_正则表达式

感谢海浪提供的正则,原贴请参见:
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>

时间: 2024-10-26 08:27:21

用JavaScript实现全局替换,解决$等特殊符号的难题[_正则表达式的相关文章

用JavaScript实现全局替换,解决$等特殊符号的难题[

感谢海浪提供的正则,原贴请参见: http://www.iecn.net/bbs/view/106503.html 因为要做个模板替换的东西,里面的变量采用${MyName}这种格式的命名方式.在进行全局替换时,遇到两个难点: 1.要么无法替换掉$等特殊符号 2.要么无法忽略大小写 在海浪有帮助下,终于有了最佳实现方式:) 最佳实现方式: 复制代码 代码如下:<script type="text/javascript">  String.prototype.replaceA

详解PHP正则表达式替换实现(PHP preg_replace,PHP preg_replace)_正则表达式

PHP正则表达式替换实现是如何的呢?首先向你介绍下PHP preg_replace,PHP preg_replace的使用是我们实现的方法,那么对于PHP正则表达式替换实现过程我们从实例入手. PHP正则表达式替换的相关概念: preg_replace:执行正则表达式的搜索和替换 mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) preg_replace:允许你替换字符串中匹配到

JAVA中正则表达式匹配,替换,查找,切割的方法_正则表达式

正则表达式的查找;主要是用到String类中的split(); String str; str.split();方法中传入按照什么规则截取,返回一个String数组 常见的截取规则: str.split("\\.")按照.来截取 str.split(" ")按照空格截取 str.split("cc+")按照c字符来截取,2个c或以上 str.split((1)\\.+)按照字符串中含有2个字符或以上的地方截取(1)表示分组为1 截取的例子; 按照

使用正则表达式替换报表名称中的特殊字符(推荐)_正则表达式

正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规则)的文本. 许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎,还有java语言自带的.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成"regex",单数有regexp.regex,复数

asp下替换非数字为空的正则_正则表达式

function replacestr(str) dim re set re=new regexp re.ignorecase=true re.global=true re.pattern="\D" str=re.replace(str,"") replacestr=str set re=nothing end function

javascript实现全局匹配并替换的方法

  javascript实现全局匹配并替换的方法         这篇文章主要介绍了javascript实现全局匹配并替换的方法的总结,十分的简单实用,有需要的小伙伴可以参考下. 在javascript替换字符串使用的是replace函数,但在实际使用过程中却发现该函数只会替换被匹配的第一个字符,这就让人很不爽了,在php语言中,replace可是实现全局匹配并替换的.没办法,仔细研究了下,发现还是有其他办法实现全局匹配并替换的. (1)其实replace本身也可以实现这种功能的,但要通过正则的

vim全局替换命令

语法为 : [addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行. 如:"1,20" :表示从第1行到20行: "%" :表示整个文件,同"1,$": ". ,$" :从当前行到文件尾: s : 表示替换操作 [option] : 表示操作类型 如:g 表示全局替换; c表示进行确认 p 表示替代结果逐行显示(Ctrl + L恢复屏

JavaScript实现随机替换图片的方法_javascript技巧

本文实例讲述了JavaScript实现随机替换图片的方法.分享给大家供大家参考.具体如下: 下面代码可实现将页面上的图片随机替换成别的图片,或者随机显示一个图片 <script> document.write(<img src="img/+parseInt(Math.random()*(5)) +.gif"height="40" width="50"> </script> 其中的图片文件名为: 0.gif 1.

javascript 正则表达式用法 小结_正则表达式

javascript正则表达式用法: 复制代码 代码如下: function checkreg(myreg,mytext) { if(myreg.test(mytext) { alert("ok"); return true; } else { return false; } } //另一种写法 复制代码 代码如下: function checkreg(myreg,mytext) { var pattern = myreg; //或者 var pattern = new RegExp(