1:获取url参数
getParams(url){
//获取?后面第一个字符串的索引
var index = url.indexOf('?')+1;
//取得url后面的字符串
var params = url.substr(index);
//使用&切割字符串,返回一个数组
var arr = params.split('&');
//定义一个空对象
var o = {};
//数组中每一项的样子 key=value
for(var i = 0;i < arr.length;i++){
//临时数组
var tmpArr = arr[i].split('=');
var key = tmpArr[0];
var value = tmpArr[1];
o[key] = value;
}
return o;
}
2:删除数组最后一项
js数组常用方法总结推荐文章:链接
eaport const truncate = (arr) => {
return arr.filter(function(v, i, ar) {
return i !== ar.length - 1
})
},
数组删除/替换某一项
splice(index,len,[item]) 注释:该方法会改变原始数组。
splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
index : 数组开始下标
len : 替换/删除的长度
item : 替换的值,删除操作的话 item为空
export const deleteArr = (arr, index, len, item) => {
arr.splice(index, len, item)
}
正则表达式
export const regExpRules = {
numberLetterChinese: /^[a-zA-Z0-9\u4e00-\u9fa5]+$/, // 中文数字字母
numberLetter: /^[0-9a-zA-Z]*$/, // 数字字母
numberLetterLine: /^[0-9a-zA-Z_\-]*$/, // 数字字母下划线中划线
positiveNumber: /^[1-9]\d*$/, // 正整数
number: /^[0-9]*$/, // 数字
// price: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, // 价格
phone: /^([0-9]{3,4}-)?[0-9]{7,8}$/, // 固话
mobile: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, // 手机号
zip: /^[0-9]{6}$/, // 邮编
price: /^\d{1,8}(\.\d{1,2})?$/, // 价格
priceNegative: /^-?\d{1,8}(\.\d{1,2})?$/, // 价格,可为负
invoicePrice: /^\d{1,8}(\.\d{1,6})?$/, // 价格
url: /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/,
email: /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/, // 邮箱
// 常用中英文及标点符号,不允许表情符号和空格
commonCharacter: /^[A-Za-z0-9_\u4e00-\u9fa5\"\'\,\,\.\。\!\!\?\?\-\—\_\<\>\%\;\‘\’\;\)\《\(\)\》\(\&\+\=\`\“\”\·\*\#\@\@\▪\の\]\[]+$/
}
将时间戳改为date格式
// val: 需要转化的时间戳, fmt:转化格式
export const formatTime = (val, fmt = 'yyyy-MM-dd hh:mm:ss') => {
if (!val) return
val = new Date(val)
var o = {
'M+': val.getMonth() + 1, // 月份
'd+': val.getDate(), // 日
'h+': val.getHours(), // 小时
'm+': val.getMinutes(), // 分
's+': val.getSeconds(), // 秒
'q+': Math.floor((val.getMonth() + 3) / 3), // 季度
S: val.getMilliseconds() // 毫秒
}
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
(val.getFullYear() + '').substr(4 - RegExp.$1.length)
)
}
for (let 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
}
过滤调对象中的一些值为空的属性
// obj: 需要过滤的对象
export let filterObj = obj => {
let newObj = {}
for (const key in obj) {
if (obj[key] === 'undefined' || obj[key] === null || obj[key] === '') {
continue
} else {
newObj[key] = obj[key]
}
}
return newObj
}
倒计时
// countDown: 倒计时开始时间
export const startToCountDown = (COUNT_TIME) => {
let countDown = COUNT_TIME
let timeInterl = setInterval(() => {
if (countDown > 0) {
countDown = countDown - 1
} else {
clearInterval(timeInterl)
}
}, 1000)
return countDown
},