Nodejs String Format format()

Here you can find the source of format()

Method Source Code

String.prototype.format = function () {
    'use strict';

    var newString = this;

    function replace(string, search, replacement) {
        return string.replace(new RegExp(search.replace('{', '\\{').replace('}', '\\}'), 'g'), replacement.toString());
    }//from  w w  w.  j a v a2s .co  m

    if (arguments[0] !== 'undefined') {
        switch (typeof arguments[0]) {
            case 'object':
                var key;

                for (key in arguments[0]) {
                    if (key in arguments[0]) {
                        newString = replace(newString, '{' + key + '}', arguments[0][key]);
                    }
                }
                break;
            default:
                if (arguments.length > 1) {
                    var i;

                    for (i = 0; i < arguments.length; i += 1) {
                        newString = replace(newString, '{' + i + '}', arguments[i]);
                    }
                } else {
                    newString = replace(newString, '{}', arguments[0]);
                }
                break;
        }
    }

    return newString;
};

Related

  1. 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();
    ...
    
  2. format()
    String.prototype.format = function (){
      var values = [].slice.call(arguments, 0, arguments.length),
          idx, 
          length = values.length,
          regex, 
          str = this;
      if(str.match(/\{\d+\}/g).length !== length){
        throw{
          name: 'ArgumentMissMatch',
    ...
    
  3. format()
    'use strict';
    String.prototype.format = function () {
        var args = arguments;
        var unkeyed_index = 0;
        return this.replace(/\{{1,2}(\w*)\}{1,2}/g, function (match, key) {
            if (match.indexOf('{{') !== -1) { 
                return match.replace('{{', '{').replace('}}', '}');
            if (key === '') { 
    ...
    
  4. format()
    String.prototype.format = function() {
        var newStr = this, i = 0;
        while (/%s/.test(newStr)) {
            newStr = newStr.replace("%s", arguments[i++])
        return newStr;
    
  5. format()
    String.prototype.printf = function (obj) {
      var useArguments = false;
      var _arguments = arguments;
      var i = -1;
      if (typeof _arguments[0] == "string") {
        useArguments = true;
      if (obj instanceof Array || useArguments) {
        return this.replace(/\%s/g,
    ...
    
  6. format()
    String.prototype.format = function() {
      var args = Array.prototype.slice.call(arguments);
      var str = this;
      return str.replace(/%s/g, function(match, index) {
        if (str.charAt(index-1) == "%") {
          return match;
        } else {
          return args.shift();
      });
    
  7. format()
    if (!String.prototype.format) {
      String.prototype.format = function() {
        var args = arguments;
        return this.replace(/{(\d+)}/g, function(match, number) { 
          return typeof args[number] != 'undefined'
            ? args[number]
            : match
          ;
        });
    ...
    
  8. format()
    String.prototype.format = function () {
      var args = arguments;
      return this.replace(/\{(\d+)\}/g, function (m, i, o, n) {
        return args[i];
      });
    };
    
  9. format()
    String.prototype.format = function () {
      var i = 0, args = arguments;
      return this.replace(/{(.*?)}/g, function (match, tagInner) {
        replacement = typeof args[i] != 'undefined' ? args[i++] : '';
        if(tagInner == "") {
            return replacement;
        } else {
            var match = tagInner.match(/^:.(\d+)f$/);
            if(match) {
    ...