这篇文章主要介绍了关于分享一下js对象常用的扩展,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
//js string对象扩展(function() {    // 除去两边空白     string.prototype.trim = function() {        return this.replace(/(^\s*)|(\s*$)/g, "");    };    //截取字符串了     string.prototype.cutstr = function(len) {        var str = this;        var str_length = 0;        var str_len = 0;        str_cut = new string();        str_len = str.length;        for (var i = 0; i < str_len; i++) {            a = str.charat(i);            str_length++;            if (escape(a).length > 4) {                //中文字符的长度经编码之后大于4                  str_length++;            }            str_cut = str_cut.concat(a);            if (str_length >= len) {                str_cut = str_cut.concat("...");                return str_cut;            }        }        //如果给定字符串小于指定长度,则返回源字符串;          if (str_length < len) {            return str;        }    };    // 保留中文     string.prototype.getcn = function() {        return this.replace(/[u4e00-u9fa5uf900-ufa2d]/g, "");    };    // 保留数字     string.prototype.getnum = function() {        return this.replace(/[^\d]/g, "");    };    // 保留字母     string.prototype.geten = function() {        return this.replace(/[^a-za-z]/g, "");    };    //从右边截取,到终点字符位置    string.prototype.subindexstr = function(str) {        var index = this.indexof(str);        return this.substr(0, index);    };    // 从左截取指定长度的字串     string.prototype.left = function(n) {        return this.slice(0, n);    };    // 从右截取指定长度的字串     string.prototype.right = function(n) {        return this.slice(this.length - n);    };    // html编码     string.prototype.htmlencode = function() {        var re = this;        var q1 = [/x26/g, /x3c/g, /x3e/g, /x20/g];        var q2 = ["&", "<", ">", " "];        for (var i = 0; i < q1.length; i++)            re = re.replace(q1[i], q2[i]);        return re;    };    //字符串转换为日期格式    string.prototype.todate = function() {        if (isnan(this) && !isnan(date.parse(this))) {            return new date(this);        } else {            console.error(this == null ? "不是日期格式" : this + "不是日期格式")        }    };    //左边补零    string.prototype.padleftzero = function(n) {        return array(n > this.length ? (n - ('' + this).length + 1) : 0).join(0) + this;    };    //右边补零    string.prototype.padrightzero = function(n) {        return this + array(n > this.length ? (n - ('' + this).length + 1) : 0).join(0);    };    //转换人民币格式    string.prototype.torenminbi = function() {        var n = this.replace(/,/g, '');;        var fraction = ['角', '分'];        var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];        var unit = [            ['元', '万', '亿'],            ['', '拾', '佰', '仟']        ];        var head = n < 0 ? '欠' : '';        n = math.abs(n);        var s = '';        for (var i = 0; i < fraction.length; i++) {            s += (digit[math.floor(n * 10 * math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');        }        s = s || '整';        n = math.floor(n);        for (var i = 0; i < unit[0].length && n > 0; i++) {            var p = '';            for (var j = 0; j < unit[1].length && n > 0; j++) {                p = digit[n % 10] + unit[1][j] + p;                n = math.floor(n / 10);            }            s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;        }        return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');    };    string.prototype.amountformat = function() {        var number = this;        var decimals = 2;        number = (number + '').replace(/[^0-9+-ee.]/g, '');        var n = !isfinite(+number) ? 0 : +number,            prec = !isfinite(+decimals) ? 0 : math.abs(decimals),            sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,            dec = (typeof dec_point === 'undefined') ? '.' : dec_point,            s = '',            tofixedfix = function(n, prec) {                var k = math.pow(10, prec);                return '' + math.floor(n * k) / k;            };        s = (prec ? tofixedfix(n, prec) : '' + math.floor(n)).split('.');        var re = /(-?\d+)(\d{3})/;        while (re.test(s[0])) {            s[0] = s[0].replace(re, "$1" + sep + "$2");        }        if ((s[1] || '').length < prec) {            s[1] = s[1] || '';            s[1] += new array(prec - s[1].length + 1).join('0');        }        return s.join(dec);    };})();//js  date 时间对象扩展(function() {    date.prototype.tostring = function(fmt) {        function padleftzero(str) {            return ('00' + str).substr(str.length);        }        if (/(y+)/.test(fmt)) {            fmt = fmt.replace(regexp.$1, (this.getfullyear() + '').substr(4 - regexp.$1.length));        }        let o = {            'm+': this.getmonth() + 1,            'd+': this.getdate(),            'h+': this.gethours(),            'm+': this.getminutes(),            's+': this.getseconds()        };        for (let k in o) {            if (new regexp(`(${k})`).test(fmt)) {                let str = o[k] + '';                fmt = fmt.replace(regexp.$1, (regexp.$1.length === 1) ? str : padleftzero(str));            }        }        return fmt;    }})();
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注!
相关推荐:
分享nodejs接入微信js-sdk的全过程
对于js模块化的解析
对于javascript加载的解析
以上就是分享一下js对象常用的扩展的详细内容。
   
 
   