欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Javascript功能扩展

程序员文章站 2023-12-22 12:21:52
...
//使用:'我是{},今年{}'.format('张三','18');输出:我是张三,今年18
//方便进行日志输出或者其他字符格式化
String.prototype.format= function(){
    //将arguments转化为数组(ES5中并非严格的数组)
    var args = Array.prototype.slice.call(arguments);
    var count=0;
    //通过正则替换%s
    return this.replace(/{}/g,function(s,i){
        return args[count++];
    });
}

//日期格式化:new Date().format('yyyy-MM-dd hh:mm:ss')
Date.prototype.format = function(format) {
    var date = {
        "M+": this.getMonth() + 1,
        "d+": this.getDate(),
        "h+": this.getHours(),
        "m+": this.getMinutes(),
        "s+": this.getSeconds(),
        "q+": Math.floor((this.getMonth() + 3) / 3),
        "S+": this.getMilliseconds()
    };
    if (/(y+)/i.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
    }
    for (var k in date) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1
                ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
        }
    }
    return format;
}

//form表单转json:$("#form01").toJSON();返回json对象
$.fn.toJSON = function()
{
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        var name = this.name;
        var value = this.value;
        var paths = this.name.split(".");
        var len = paths.length;
        var obj = o;
        $.each(paths,function(i,e){
            if(i == len-1){
                if (obj[e]) {
                    if (!obj[e].push) {
                        obj[e] = [obj[e]];
                    }
                    obj[e].push(value || '');
                } else {
                    obj[e] = value || '';
                }
            }else{
                if(!obj[e]){
                    obj[e] = {};
                }
            }
            obj = o[e];
        });
    });
    return o;
};

// 清除两边的空格  
String.prototype.trim = function() {  
    return this.replace(/(^\s*)|(\s*$)/g, '');  
};  

// 保留数字  
String.prototype.getNum = function() {  
    var regEx = /[^\d]/g;  
    return this.replace(regEx, '');  
};  
  
// 保留中文  
String.prototype.getCN = function() {  
    var regEx = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g;  
    return this.replace(regEx, '');  
};  

//替换所有
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {  
    if (!RegExp.prototype.isPrototypeOf(reallyDo)) {  
        return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi" : "g")), replaceWith);  
    } else {  
        return this.replace(reallyDo, replaceWith);  
    }  
};  

//测试是否是数字 
String.prototype.isNumeric = function() {
    var tmpFloat = parseFloat(this);
    if (isNaN(tmpFloat))
        return false;
    var tmpLen = this.length - tmpFloat.toString().length;
    return tmpFloat + "0".Repeat(tmpLen) == this;
}
//测试是否是整数 
String.prototype.isInt = function() {
    if (this == "NaN")
        return false;
    return this == parseInt(this).toString();
}

自学或者进阶前端的话,可以关注公众号:web前端研究中心

Javascript功能扩展

关注后回复关键字:教程

可以免费领取价值几千元的****,里面的内容还会持续更新的

Javascript功能扩展

上一篇:

下一篇: