本文小编为大家详细介绍“JS怎么格式化字符串”,内容详细,步骤清晰,细节处理妥当,希望这篇“JS怎么格式化字符串”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
格式化字符串
<!-- lang: js -->String.prototype.format = function(args) { var result = this; if (arguments.length < 1) { return result;
} var data = arguments; //如果模板参数是数组
if (arguments.length == 1 && typeof (args) == "object") { //如果模板参数是对象
data = args;
} for (var key in data) { var value = data[key]; if (undefined != value) {
result = result.replace("{" + key + "}", value);
}
} return result;
}
版本2
<!-- lang: js -->String.prototype.replaceAll = function (exp, newStr) { return this.replace(new RegExp(exp, "gm"), newStr);
};String.prototype.format = function(args) { var result = this; if (arguments.length < 1) { return result;
} var data = arguments; // 如果模板参数是数组
if (arguments.length == 1 && typeof (args) == "object") { // 如果模板参数是对象
data = args;
} for ( var key in data) { var value = data[key]; if (undefined != value) {
result = result.replaceAll("\\{" + key + "\\}", value);
}
} return result;
}
使用方法:
<!-- lang: js -->//两种调用方式var template1="我是{0},今年{1}了";var result1=template1.format("loogn",22);var template2="我是{name},今年{age}了";var result2=template2.format({name:"loogn",age:22});//两个结果都是"我是loogn,今年22了"
对于版本2使用了正则表达式(replaceaAll),意味着当文本中出现多个替换位时,都可以被替换。 var template1="我是{0},今年{1}了, lucy今年也{1}了"; var result1=template1.format("loogn",22);
//结果是"我是loogn,今年22了, lucy今年也22了"
读到这里,这篇“JS怎么格式化字符串”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。