首页 > Web开发 > 详细

js常用代码片段

时间:2017-04-04 14:31:00      阅读:217      评论:0      收藏:0      [点我收藏+]

最近会用到的一些公共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常用代码片段

原文:http://www.cnblogs.com/AaronAndJoe/p/6664787.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!