js复制粘贴使用的小方法

获取当前日期或格式化当前日期方法封装yyyy-MM-dd

将当前时间、yyyy/MM/dd、yyyy.MM.dd、yyyy-MM-dd作为间隔符的日期格式统一转换为yyyy-MM-dd

1、判断是否有值传入,没有值传入则获取当前时间

2、有值传入判断是否为日期格式 (这里没有完全判断日和月是否正确,只做了初步判断)

3、转换日期格式

function dateFormat(oldDate){
    const re = /^(\d{4})(\/|\.|-)(\d{1,2})(\/|\.|-)(\d{1,2})$/
    if(!oldDate){
        oldDate = new Date().toLocaleDateString()
    }else if(!re.test(oldDate)){
        console.log('日期格式有误')
        return
    }
    const date = new Date(oldDate)
    let year = date.getFullYear().toString()
    let month = (date.getMonth() + 1).toString()
    let day = date.getDate().toString()
    month = month.padStart(2, '0')
    day = day.padStart(2, '0')
    const dataFormat = `${year}-${month}-${day}`
    return dataFormat
}

输入内容限制

export function limitInput(input){
    if(!input){
        return ''
    }
    const reg = new RegExp("[^0-9a-z-A-Z]") // 只能输入数字和英文
    let reflowSpecial = ''
    for(let i = 0; i < input.length; i++){
        reflowSpecial = reflowSpecial + input.substr(i, 1).replace(reg, '')
    }
    return reflowSpecial
}

数据深拷贝

export function deepClone(target) {
  // 目标值为 非引用类型,直接返回目标值
  if (typeof target !== 'object') {
    return target
  }
  const temp = Array.isArray(target) ? [] : {}
  for (const item in target) {
    if (target[item] instanceof Date) {
      const time = new Date(target[item])
      temp[item] = time
    } else {
      temp[item] = deepClone(target[item])
    }
  }
  return temp
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值