js-正则匹配replace应用场景

应用场景:后端可能返回这样的日期(20220618)或者金额(1000)需要转换处理。
使用正则匹配的函数replace的回调来递归对映射进行批量替换,比如:

日期或者金额小写转大写

let dateStr = '20220618'
function date2ch(v) {
  if (v && v.length !== 8 ) return
  let ch = ['零','一','二','三','四','五','六','七','八','九','十']
  return dateStr.replace(/\d/g, v => ch[v])
}
date2ch(dateStr) // 二零二二零六一八

格式化日期

let dateStr = '20220618'
function dateFormat(v, separator='-') {
  if (v && v.length !== 8 ) return
  return dateStr.replace(/^(\d{4})(\d{2})(\d{2})$/, `$1${separator}$2${separator}$3`)
}
dateFormat(dateStr)
dateFormat(dateStr, '/')
// 2022-06-18
// 2022/06/18

简洁顺滑~

批量取值

var ary=["一","二","三","四","五","六"]
res = "12".replace(/\d/g,function(v){
    return ary[v]
})
// res = '二三’
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值