Vue中一些公用方法总结

删除左右两端的空格

export const COMMON_METHOD_TRIM = str => {
   return str.replace(/(^\\s*)|(\\s*$)/g,'')
}

删除全部空格

export const COMMON_METHOD_TRIMALL = str => {
  return str.replace(/\\s+/g, '')
}

过滤emoji字符

export const COMMON_METHOD_EMOJI = str => {
  var regStr = /[\\uD83C|\\uD83D|\\uD83E][\\uDC00-\\uDFFF][\\u200D|\\uFE0F]|[\\uD83C|\\uD83D|\\uD83E][\\uDC00-\\uDFFF]|[0-9|*|#]\\uFE0F\\u20E3|[0-9|#]\\u20E3|[\\u203C-\\u3299]\\uFE0F\\u200D|[\\u203C-\\u3299]\\uFE0F|[\\u2122-\\u2B55]|\\u303D|[\\A9|\\AE]\\u3030|\\uA9|\\uAE|\\u3030/gi
  return str.replace(regStr, '')
}

字符串补充零

export const COMMON_PAD_ZERO = (str, num) => {
   var len = str.toString().length
   while(len < num) {
   str = "0" + str
   len++
}
return str
}

将YYYYMMDDHHmmss转换为YYYY/MM/DD HH:mm:ss

export const COMMON_METHOD_FORMATSTRTODATE = dateString => {
   var pattern =/(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})/
   var formatedDate = dateString.replace(pattern, '$1/$2/$3 $4:$5:$6')
   return formatedDate
}

时间格式化处理

export const GET_NOW_FORMAT_TIME = (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
}

获取随机数

export const GET_RANDOM = n => {
  var chars = [
    '0',
    '1',
    '2',
    '3',
    '4',
    '5',
    '6',
    '7',
    '8',
    '9',
    'A',
    'B',
    'C',
    'D',
    'E',
    'F',
    'G',
    'H',
    'I',
    'J',
    'K',
    'L',
    'M',
    'N',
    'O',
    'P',
    'Q',
    'R',
    'S',
    'T',
    'U',
    'V',
    'W',
    'X',
    'Y',
    'Z',
    'a',
    'b',
    'c',
    'd',
    'e',
    'f',
    'g',
    'h',
    'i',
    'j',
    'k',
    'l',
    'm',
    'n',
    'o',
    'p',
    'q',
    'r',
    's',
    't',
    'u',
    'v',
    'w',
    'x',
    'y',
    'z'
  ]
  var res = ''
  for (var i = 0; i < n; i++) {
    var id = Math.ceil(Math.random() * 60)
    res += chars[id]
  }
  return res
}

数字加密

export const NUM_EXCRYPTION = n => {
  var res = ''
  for(var i = 0; i < 6; i++) {
  if(i == 0) {
  var id =Math.ceil(Math.random()*9)
  res += id
} else {
  var id2 = Math.floor(Math.common()*10)
  res += id2
} 
}
var str = ACC_ADD(Number(n), 123)
return res + str
}

数字解密

export const NUM_DECRYPT = n => {
  n = parseInt(n)
  var str = ACC_SUBTR(n, 123)
  str = str.toString()
  var num = str.slice(6)
  num = parseInt(num)
  return num.toString()
}

数组删除指定index的数据

export const ARRAY_REMOVE_INDEX = (arr, index) => {
   for(var i = 0; i<arr.length; i++) {
   if(i = index) {
   arr.splice(i, 1)
   break
}
}
}

返回日期相减天数

export const DATE_MINUS = (sDate, eDate) => {
  // var sdate = new Date(sDate.replace(/-/g, "/"));
  // var edate = new Date(eDate.replace(/-/g, "/"));
  var days = new Date(eDate).getTime() - new Date(sDate).getTime()
  var day = parseInt(days / (1000 * 60 * 60 * 24))
  return day
}

根据传入的日期, 返回周几

export const DATE_WEEK_FORMAT = dateStr => {
  if (!dateStr) {
    return ''
  }
  var weekDay = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
  var myDate = new Date(Date.parse(dateStr.replace(/-/g, '/')))
  return weekDay[myDate.getDay()]
}

获取当前日期 YYYY-MM-DD

export const DATE_TODAY = () => {
  var date = new Date()
  var seperator1 = '-'
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var strDate = date.getDate()
  if(month >= 1 && month <=9) {
  month = '0' + month
}
  if(strDate >= 0 && strDate <=9) {
  strDate = '0' + strDate
}
  var currentdate = year + seperator1 + month +seperator1 + strDate
  return currentDate
}

加法

export const ACC_ADD = (arg1, arg2) => {
	var r1, r2, m, n
	try {
	  r1 = arg1.toString().split('.')[1].length
	} catch (e) {
	  r1 = 0
	}
	try {
	  r2 = arg2.toString().split('.')[1].length
	} catch (e) {
	  r2 = 0
	}
	m = Math.pow(10, Math.max(r1, r2))
	// 动态控制精度长度
	n = r1 >= r2 ? r1 : r2
	return ((arg1 * m + arg2 * m) / m).toFixed(n)
}

减法

export const ACC_SUBTR = (arg1, arg2) => {
	var r1, r2, m, n
	try {
		r1 = arg1.toString().split('.')[1].length
	} catch (e) {
		r1 = 0
	}
	try {
		r2 = arg2.toString().split('.')[1].length
	} catch (e) {
		r2 = 0
	}
	m = Math.pow(10, Math.max(r1, r2))
	// 动态控制精度长度
	n = r1 >= r2 ? r1 : r2
	return ((arg1 * m - arg2 * m) / m).toFixed(n)
}

乘法

export const ACC_MUL = (arg1, arg2) => {
	var m = 0
	var s1 = arg1.toString()
	var s2 = arg2.toString()
	try {
		m += s1.split('.')[1].length
	} catch (e) { }
	try {
		m += s2.split('.')[1].length
	} catch (e) { }
	return (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m)
}

除法

export const ACC_DIVCOUPON = (arg1,arg2) => {
    var t1=0,t2=0,r1,r2;
    try{t1=arg1.toString().split(".")[1].length;}catch(e){}
    try{t2=arg2.toString().split(".")[1].length;}catch(e){}
    with(Math){
        r1=Number(arg1.toString().replace(".",""));
        r2=Number(arg2.toString().replace(".",""));
        return (r1/r2)*pow(10,t2-t1);
    }
}

获取uuid

export const GET_UUID = () => {
  var s = []
  var hexDigits = '0123456789abcdef'
  for (var i = 0; i < 36; i++) {
    s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
  }
  s[14] = '4' // bits 12-15 of the time_hi_and_version field to 0010
  s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) // bits 6-7 of the clock_seq_hi_and_reserved to 01
  s[8] = s[13] = s[18] = s[23] = '-'

  var uuid = s.join('')
  return uuid
}

单位

export const unitGroup =  {
  1: "元/公斤",
  2: "元/头",
  3: "头",
  4: "公斤/头",
  5: "元/吨",
}
export const unitGroupOption = [
  {
    label:"元/公斤",
    value:1
  },
  {
    label:"元/头",
    value:2
  },
  {
    label:"头",
    value:3
  },
  {
    label:"公斤/头",
    value:4
  },
  {
    label:"元/吨",
    value:5
  }
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值