Nodejs String Format format(args)

Here you can find the source of format(args)

Method Source Code

/*//from  www .  j a va 2s  .c  o m
* @Author: ZhangZheyi
* @Date:   2016-06-28 13:13:42
* @Last Modified by:   ZhangZheyi
* @Last Modified time: 2016-06-28 13:36:27
*/

'use strict';

String.prototype.format = function (args) {
    if (arguments.length>0) {
        var result = this;
        console.log(this)
        if (arguments.length ==1 && typeof(args)=="object") {
            for(var key in args){
                var reg = new RegExp ("({"+key+"})","g");
                result = result.replace(reg,args[key]);
            }
        }else{
            for (var i = 0; i < arguments.length; i++) {
                if (arguments[i]==undefined) {
                    return "";
                }else{
                    var reg = new RegExp("({["+i+"]})","g");
                    result= result.replace(reg,arguments[i]);
                }
            }
        }
        return result;
    }else{
        return this;
    }
}

var template1 = "??{0},??{1}?";
var result1 = template1.format("Jerry",22)
console.log(result1);

var template2 = "??{name},??{age}?"
var result2 = template2.format({name:"Linda",age:22});
console.log(result2)

Related

  1. format(args)
    String.prototype.format = function(args) {
        var result = this;
        if (arguments.length > 0) {    
            if (arguments.length == 1 && typeof (args) == "object") {
                for (var key in args) {
                    if(args[key]!=undefined){
                        var reg = new RegExp("({" + key + "})", "g");
                        result = result.replace(reg, args[key]);
            else {
                for (var i = 0; i < arguments.length; i++) {
                    if (arguments[i] != undefined) {
                        var reg = new RegExp("({[" + i + "]})", "g");
                        result = result.replace(reg, arguments[i]);
        return result;
    
  2. format(args)
    String.prototype.format = function(args){
      var str = this.toString(),
          result = str.match(/\$[0-9]+/gi),
          mapper = {};
      if(args.length < result.length)
        throw new Error("Index out of range.");
      for(var i = 0; i < result.length; i++){
        mapper[result[i]] = args[parseInt(result[i].replace("$", ""), 10)]
      for(var i = 0; i < result.length; i++){
        str = str.replace(result[i], mapper[result[i]]);
      return str; 
    };
    
  3. format(args)
    String.prototype.format = function(args) {
        var result = this;
        if (arguments.length > 0) {    
            if (arguments.length == 1 && typeof (args) == "object") {
                for (var key in args) {
                    if(args[key]!=undefined){
                        var reg = new RegExp("({" + key + "})", "g");
                        result = result.replace(reg, args[key]);
            else {
                for (var i = 0; i < arguments.length; i++) {
                    if (arguments[i] != undefined) {
                        var reg= new RegExp("({)" + i + "(})", "g");
                        result = result.replace(reg, arguments[i]);
        return result;
    
  4. format(args)
    function valPhone(phoneNumber) {
        if (!/^(13[0-9]|14[0-9]|15[0-9]|18[0-9])\d{8}$/i.test(phoneNumber)) {
            return false;
        } else {
            return true;
    String.prototype.format = function(args) {
        if (arguments.length>0) {
    ...
    
  5. format(args)
    String.prototype.format = function (args) {
        var str = this;
        return str.replace(String.prototype.format.regex, function (item) {
            var intVal = parseInt(item.substring(1, item.length - 1));
            var replace;
            if (intVal >= 0) {
                replace = args[intVal];
            } else if (intVal === -1) {
                replace = "{";
    ...
    
  6. format(args)
    String.prototype.format = function(args)
        var result = this;
        if (arguments.length > 0)
            var reg;
            if (arguments.length == 1 && typeof(args) == "object")
                for (var key in args)
    ...
    
  7. format(args)
    String.prototype.format = function (args) {
        var newStr = this;
        for (var key in args) {
            newStr = newStr.replace('{' + key + '}', args[key]);
        return newStr;
    
  8. format(args, index)
    String.prototype.format = function(args, index) {
      return this.replace(/{(\w+)}/g, function(match, number) {
        return typeof args[index[number]] != 'undefined'
          ? args[index[number]]
          : match
        ;
      });
    };
    
  9. format(ctx)
    String.prototype.format = function (ctx) {
      return this.replace(/\$\{([\w\.]+)\}/g, function(all, varname) {
        var keys = varname.split('.');
        var val = null;
        for (var i = 0, len = keys.length; i < len; i++) {
          val = ctx[keys[i]];
        return val;
      });
    ...