javascript - JavaScript 中是否有等效的 sprintf?

标签 javascript

如果是,那是什么?

我不介意它是否涉及使用外部库。

最佳答案

这是我的 super 简单的解决方案,可以处理 %s%d%04d(更改 4在任何数字上)

function sprintf(str) {
    var args = arguments, i = 1;

    return str.replace(/%(s|d|0\d+d)/g, function (x, type) {
        var value = args[i++];
        switch (type) {
        case 's': return value;
        case 'd': return parseInt(value, 10);
        default:
            value = String(parseInt(value, 10));
            var n = Number(type.slice(1, -1));
            return '0'.repeat(n).slice(value.length) + value;
        }
    });
}

关于javascript - JavaScript 中是否有等效的 sprintf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2405425/

相关文章:

javascript - 基于 Angular Reactive Forms 验证更改输入元素 CSS

javascript - 如何在 Electron 应用程序内访问摄像头/网络摄像头?

javascript - 用于验证印度货币的正则表达式模式

JavaScript hasOwnProperty 与 typeof

在单击按钮之前调用 JavaScript 函数

javascript - 尝试自动访问使用 Javascript 加密表单数据的 Web 界面

javascript - 看不到更新状态

javascript - 为什么javascript阻止并行下载?

javascript - 为什么index-of在vuejs中不能正常工作?

javascript - Google 图表启动动画不起作用