这篇文章主要介绍了关于分享一下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;
}
})();以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上就是分享一下js对象常用的扩展的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号