JS字符串替换(jQuery)

①自己封装的一个方法String.format

String.format = function() {
  var s = arguments[0];
  for (var i = 0; i < arguments.length - 1; i++) {       
    var reg = new RegExp("\\{" + i + "\\}", "gm");             
    s = s.replace(reg, arguments[i + 1]);
  }
  return s;
}

例子:

<script>

String.format = function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}

return s;
}
var str = "运动方面我喜欢{0},个人爱好是{1}";
alert(String.format(str,"篮球","编程"));
</script>

结果:弹出dialog,运动方面我喜欢篮球,个人爱好是编程

 

上述方法中的String不能随意修改,因为其是一个JS对象。相信学过JS编程都知道,对象.方法名(函数名)调用模式的补课随意改变,与像Java、C#等语言的调用方式是一样的。

②当然你也可以写一个自己的JS对象,例如:

Utility.js

(function(){

 var Utility = function () {
if (this == window) {
return new Utility();
}
Utility.fn = Utility.prototype;
Utility.fn.Format = function(){   
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}
}
window.Utility = Utility;

})()

 

调用例子如下:

<script src="Utility.js"></script>
<script>
var str = "运动方面我喜欢{0},个人爱好是{1}";
alert(new Utility().Format(str,"篮球","编程"));
</script>

结果跟上述一样。

 ③当然Utility.js写法还有一种

var Utility = new function(){
this.Format = function(){   
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}
}

调用例子如下:

<script src="Utility.js"></script>
<script>
var str = "运动方面我喜欢{0},个人爱好是{1}";
alert(Utility.Format(str,"篮球","编程"));
</script>

结果跟上述一样。

转载于:https://www.cnblogs.com/joyang/p/4992304.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值