1. 格式化字符串,字符串左边补0
/**
*
* @param {String} str 传入字符串
* @param {Number} len 字符总长度
*/
function leftZero(str, len){
str = ''+str;
return str.length >= len ? str : new Array(len - str.length + 1).join('0') + str;
}
2. 格式化价格,添加逗号分隔
function formatCommas(val){
if(isNaN(val)){
return '-';
}
val = (val+"").split(".");
return val[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(val.length>1?"."+val[1]:"");
}
3. 格式化日期
/** 将 Date 转化为指定格式的String
* 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* 例子:
* formatDate("yyyy-MM-dd hh:mm:ss.S", date) ==> 2006-07-02 08:09:04.423
* formatDate("yyyy-M-d h:m:s.S", date) ==> 2006-7-2 8:9:4.18
**/
const formatDate = (fmt, date) => {
var o = {
"M+" : date.getMonth()+1, //月份
"d+" : date.getDate(), //日
"h+" : date.getHours(), //小时
"m+" : date.getMinutes(), //分
"s+" : date.getSeconds(), //秒
"q+" : Math.floor((date.getMonth()+3)/3), //季度
"S" : date.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
/**
* 功能:实现addDate功能
* 参数:interval,字符串表达式,表示要添加的时间间隔.
* 参数:number,数值表达式,表示要添加的时间间隔的个数.
* 参数:date,时间对象.
* 返回:新的时间对象.
* var now = new Date();
* var newDate = addDate("d", 5, now);
**/
const addDate = (interval, number, date) => {
switch (interval) {
case "y": {
date.setFullYear(date.getFullYear() + number);
return date;
break;
}
case "q": {
date.setMonth(date.getMonth() + number * 3);
return date;
break;
}
case "m": {
date.setMonth(date.getMonth() + number);
return date;
break;
}
case "w": {
date.setDate(date.getDate() + number * 7);
return date;
break;
}
case "d": {
date.setDate(date.getDate() + number);
return date;
break;
}
case "h": {
date.setHours(date.getHours() + number);
return date;
break;
}
case "m": {
date.setMinutes(date.getMinutes() + number);
return date;
break;
}
case "s": {
date.setSeconds(date.getSeconds() + number);
return date;
break;
}
default: {
date.setDate(d.getDate() + number);
return date;
break;
}
}
}
4. 获取URL参数
/**
* @param {String} name 参数名称
**/
function getQueryParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
原文出处