前端开发

[jQuery] jQuery、JS的String.format()

字号+ 作者:hanyufeng 来源: 2016-08-14 20:21:22 我要评论( ) 阅读:

通过函数调用或通过类型直接引用...

方法一:通过函数调用

函数:

String.format = function() {
    if (arguments.length == 0)
        return null;
    var str = arguments[0];
    for ( var i = 1; i < arguments.length; i++) {
        var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
        str = str.replace(re, arguments[i]);
    }
    return str;
};

调用:

var a = "我喜欢吃{0},也喜欢吃{1},但是最喜欢的还是{0},偶尔再买点{2}";
alert(String.format(a, "苹果","香蕉","香梨"));
// 运行结果:我喜欢吃苹果,也喜欢吃香蕉,但是最喜欢的还是苹果,偶尔再买点香梨

方法二:通过类型直接引用

函数:

String.prototype.format = function() {
    var result=this;
    if (arguments.length == 0)
        return null;
    for ( var i = 0; i < arguments.length; i++) {
        var re = new RegExp('\\{' + (i) + '\\}', 'gm');
        result = result.replace(re, arguments[i]);
    }
    return result;
};

调用:

alert("{0}----{1}".format("xx", "yy"));
//作为字符串、字符变量的方法直接引用

参考资料:

http://www.cnblogs.com/taoweiji/archive/2013/08/15/3260883.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。