Nodejs String Format format()

Here you can find the source of format()

Method Source Code

String.prototype.format = function(){      
   var re_all = /{(\d+)?(:(\d+)?(.\d+?f))?}/g;
   var re_index = /(\d+):/;
   var re_before = /(\d+)\./;
   var re_after = /\.(\d+)/;
   var cur = this;
   var matches = cur.match(re_all);
   if (arguments.length > matches){
      console.log("Too many arguments!");
      return cur;
   }else{/*from w  w  w . j a v  a 2s  .  c  o m*/
      for (var i=0; i<arguments.length;i++){
         var match_i = matches[i];
         var arg_index = match_i.match(re_index);
         var arg ; 
         if (arg_index != null){
            arg = arguments[arg_index[1]];
         }else{
            arg = arguments[i];
         }
         var f_after = match_i.match(re_after);
         if (f_after != null){
            var val = f_after[1];
            var pow_val = Math.pow(10,-val);
            arg = arg.toFixed(val);
         }else{
            var f_before = match_i.match(re_before); 
            if (f_before != null){
               var val = f_before[1];
               var pow_val = Math.pow(10,val)
               arg = Math.floor(arg / pow_val)*pow_val;
            }else{
            }
         }
         cur = cur.replace(match_i, arg.toString());
      }
      return cur;   
   }
}

Related

  1. format()
    String.prototype.format = function() {
      var source = this;
      for (var i = 0; i <= arguments.length - 1; i++) {       
        var reg = new RegExp("\\{" + i + "\\}", "gm");             
        source = source.replace(reg, arguments[i]);
      return source;
    };
    Date.prototype.format = function (fmt) { 
    ...
    
  2. format()
    String.prototype.format = function() {
      var formatted = this;
      for (arg in arguments) {
        formatted = formatted.replace('{' + arg + '}', arguments[arg]);
      return formatted;
    };
    
  3. format()
    String.prototype.format = function() {
        var args = arguments;
        return this.replace(/\{(\d+)\}/g,
            function(m, i) {
                return args[i];
            });
    };
    String.prototype.encodeHTML = function () {
        var s = this.valueOf();
    ...
    
  4. 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;
    String.prototype.format = function () {
    ...
    
  5. format()
    String.prototype.format = function () {
        var args = arguments;
        var reg = /\{(\d+)}/g;
        return this.replace(reg, function (g0, g1) {
            return args[+g1];
        });
    };
    var str = "this is :{0} and {1} , and  {0}".format("arg1","arg2")
    var main = "Scripts/main";
    ...
    
  6. format()
    String.prototype.format = function() {
      var txt = this;
      var i = arguments.length;
      var replaceTokens = function(txt, key, value) {
        return txt.replace(new RegExp('\\{' + key + '\\}', 'gm'), value);
      };
      if(i > 0 && typeof(arguments[0]) == "object") { 
        for(var key in arguments[0]) {
          txt = replaceTokens(txt, key, arguments[0][key]);
    ...
    
  7. format()
    String.prototype.format = function() {
        var s = this,
            i = arguments.length;
        while (i--) {
            s = s.replace(new RegExp('\\{' + i + '\\}', 'gm'), arguments[i]);
        return s;
    };
    
  8. format()
    String.prototype.format=function(){
      if(arguments.length==0) return this;
      var args=[], i=0;
      for(;i<arguments.length;i++) args[i]=arguments[i];
      return this.replace(/\%[sSfdDTt\%]/g, function(m){
        if(m=='%%') return '%';
        var v=args.shift();
        switch(m.substr(1,1)){
          case 's': return v.toString();
    ...
    
  9. format()
    String.prototype.format=function(){
      if(arguments.length==0) return this;
      var args=[], i=0;
      for(;i<arguments.length;i++) args[i]=arguments[i];
      return this.replace(/\%[sSfdDTt\%]/g, function(m){
        if(m=='%%') return '%';
        var v=args.shift();
        switch(m.substr(1,1)){
          case 's': return v.toString();
    ...