Javascript/jQuery库,用于替换文本中的变量

Javascript/jQuery library to replace variables in text

本文关键字:文本 变量 替换 用于 jQuery Javascript      更新时间:2023-09-26

我有Javascript api,用户可以用url调用它们。我可能需要替换URL的某些部分,例如,他们可能会调用我的ajax照片上传API与他们的上传URL:

http://www.example.com/photos/upload/${username};jsessionid=l2k34523

然后,当我的代码上传照片时,我需要发布到该URL,替换${username}。我可以告诉他们如何在URL中格式化username变量,但我必须允许他们像这样插入变量。

是否有一个很好的Javascript或jQuery库,以方便地替换变量像上面?

一个简单的format函数就可以为您做到这一点…

// add String prototype format function if it doesn't exist yet
if (jQuery.isFunction(String.prototype.format) === false)
{
    String.prototype.format = function () {
        var s = this;
        var i = arguments.length;
        while (i--)
        {
            s = s.replace(new RegExp('''{' + i + '''}', 'gim'), arguments[i]);
        }
        return s;
    };
}

所以你可以很容易地使用它:

".../photos/upload/{0};jsessionid=l2k34523".format("JohnDoe");

或有多个变量:

".../photos/upload/{0};jsessionid={1}".format("JohnDoe", "l2k34523");