<!DOCTYPE html>
<html>
<head>
<meta charset="utf8">
<script>
String.prototype.format = function() {
let result = this;
console.log(arguments)
if(arguments.length == 1 && typeof(arguments[0]) == "object") {
for(let key in arguments[0]) {
let reg = new RegExp("{" + key + "}", "g");
result = result.replace(reg, arguments[0][key]);
}
} else if(arguments.length > 0 ) {
for (let i = 0; i < arguments.length; i++) {
if(arguments[i] != undefined) {
//注意:花括号内跟数字表示前面的字符出现多少次。因此这里需要转义,而在字符串里面,转义字符又要多重复一次
let reg = new RegExp("\\{" + i + "\\}", "g");
result = result.replace(reg, arguments[i]);
}
};
}
return result;
}
console.log("The boy's name is {name}, and age is {age}.".format({name: "bob", age: 24}));
console.log("The boy's name is {0}, and age is {1}.".format("bob", 24));
</script>
</head>
<body>
</body>
</html>
JavaScript 格式化字符串 & 需要转义的正则表达式
最新推荐文章于 2025-06-09 19:24:21 发布