prototype.js 887 B

1234567891011121314151617181920212223
  1. String.prototype.format = function(args) {
  2. var result = this;
  3. if (arguments.length > 0) {
  4. if (arguments.length == 1 && typeof (args) == "object") {
  5. for (var key in args) {
  6. if(args[key]!=undefined){
  7. var reg = new RegExp("({" + key + "})", "g");
  8. result = result.replace(reg, args[key]);
  9. }
  10. }
  11. }
  12. else {
  13. for (var i = 0; i < arguments.length; i++) {
  14. if (arguments[i] != undefined) {
  15. //var reg = new RegExp("({[" + i + "]})", "g");//这个在索引大于9时会有问题,谢谢何以笙箫的指出
  16.             var reg= new RegExp("({)" + i + "(})", "g");
  17. result = result.replace(reg, arguments[i]);
  18. }
  19. }
  20. }
  21. }
  22. return result;
  23. }