用JavaScript实现全局替换,解决$等特殊符号的难题[
导读:收集整理的这篇文章主要介绍了用JavaScript实现全局替换,解决$等特殊符号的难题[,觉得挺不错的,现在分享给大家,也给大家做个参考。 感谢海浪提供的正则,原贴请参见: http:/...
收集整理的这篇文章主要介绍了用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> 您可能感兴趣的文章:
- C#将隐私信息(银行账户,身份证号码)中间部分特殊字符替换成*
- PHP的substr_replace将指定两位置之间的字符替换为*号
- PHP中利用substr_replace将指定两位置之间的字符替换为*号
- 使用正则表达式替换表情符号核心代码
- js正则实现的密码框简单制作,还可以替换成自己想用得符号
- IOS代码笔记UIView的placeholder的效果
- IOS代码笔记之文字走马灯效果
- IOS代码笔记之下拉选项cell
- IOS代码笔记之下拉菜单效果
- IOS如何替换电话号码中间4位为"-"符号
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 用JavaScript实现全局替换,解决$等特殊符号的难题[
本文地址: https://pptw.com/jishu/595376.html