js常用程式碼片段

來源:互聯網
上載者:User

標籤:decode   format   display   類比   mat   extension   isp   [1]   字串格式化   

最近會用到的一些公用js,後續會繼續補充。

// string extensions(function () {    var fn = String.prototype;    fn.format = function () {        var args = arguments;        return this.replace(/\{(\d+)\}/g, function (m, i) {            return args[i] || "";        });    }})();

 字串格式化   "name:{0},value:{1}".format("p0","p1") : "name:p0,value:p1"

 

// json transform

 

(function (wd) {    var transform = function (oldObj, prefix, subObjOrValue, includeFunc) {        if (subObjOrValue == null) {            oldObj[prefix] = null;        } else {            if (subObjOrValue instanceof Array) {                for (var i = 0; i < subObjOrValue.length; i++) {                    var newPex = prefix + "[" + i + "]";                    transform(oldObj, newPex, subObjOrValue[i], includeFunc);                }            } else if (typeof subObjOrValue === "object") {                for (var name in subObjOrValue) {                    if (subObjOrValue.hasOwnProperty(name)) {                        var newObjPex = "";                        if (prefix.length === 0) {                            newObjPex = name + "";                        } else {                            newObjPex = prefix + "." + name;                        }                        transform(oldObj, newObjPex, subObjOrValue[name], includeFunc);                    }                }            } else {                if (includeFunc) {                    oldObj[prefix] = subObjOrValue;                } else {                    if (typeof subObjOrValue !== "function") {                        oldObj[prefix] = subObjOrValue;                    }                }            }        }    }    wd.JSON.__transformToSimple = function (jsonObj, prefix, includeFunc) {        if (!jsonObj) {            return null;        }        var obj = {};        transform(obj, prefix || "", jsonObj, includeFunc);        return obj;    };})(window);js中 JSON轉換為簡單的JSON,多個層級的json,轉換為只有一個層級的JSON,方便類比表單提交。

{"a":"v-1","b":{"b-1":"v-b1","b-2":"v-b2"},"c":["v-c1","v-c2"]} 

轉換為

{"a":"v-1","b.b-1":"v-b1","b.b-2":"v-b2","c[0]":"v-c1","c[1]":"v-c2"} 

 

 

// html encode or decode(function (wd) {    wd.__htmlEncode = function (str) {        return ("" + str).replace(/&/g, "&amp;")            .replace(/>/g, "&gt;")            .replace(/</g, "&lt;")            .replace(/ /g, "&nbsp;")            .replace(/\‘/g, "'")            .replace(/\"/g, "&quot;");    };    wd.__htmlDecode = function (str) {        return ("" + str).replace(/&amp;/g, "&")            .replace(/&gt;/g, ">")            .replace(/&lt;/g, "<")            .replace(/&nbsp;/g, " ")            .replace(/'/g, "\‘")            .replace(/&quot;/g, "\"");    };})(window);


html編碼,把HTML中的特殊符號編碼,防止幹擾破壞到正常的html。 

 

js常用程式碼片段

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.