JavaScript實現類似Python的字符串佔位符

問題描述

使用jQuery向頁面添加元素時需要拼接HTML,當HTML中含有"之類的信息時,手動拼接極度容易出錯,若有類似Python的.format()函數就方便多了

print('<button type="submit" value={}>今天</button>'.format('"/inform{"time": "今天"}"'))
# <button type="submit" value="/inform{"time": "今天"}">今天</button>




解決方案

  1. 定義函數,String.prototype.format
  2. 添加轉義字符




代碼

/*字符串佔位符*/
String.prototype.format = function () {
    if (arguments.length == 0) return this;
    var param = arguments[0];
    var s = this;
    if (typeof (param) == 'object') {
        for (var key in param)
            s = s.replace(new RegExp("\\{" + key + "\\}", "g"), param[key]);
        return s;
    } else {
        for (var i = 0; i < arguments.length; i++)
            s = s.replace(new RegExp("\\{" + i + "\\}", "g"), arguments[i]);
        return s;
    }
};




效果

輸入

'<button type="submit" value={0}>今天</button>'.format('"/inform{"time": "今天"}"')

輸出

"<button type="submit" value="/inform{"time": "今天"}">今天</button>"




參考文獻

  1. JS字符串使用佔位符輕鬆實現拼接
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章