您的位置:首页 > 其它

正则中$1、$2的应用--日期格式化

2017-08-08 18:40 218 查看
在正则表达式中可以通过一对小括号“ ()”将一个完整的正则表达式分割出几个子表达式,并可以用 “$ + index”来分别引用对应子匹配项的内容。

下面以格式化日期为例:

目标是将“Tue Aug 08 2017 18:23:48 GMT+0800 (中国标准时间)”转化为“2017-08-08”

var time= new Date().toLocaleDateString()
var reg=/(\d{4})\/(\d{1,2})\/(\d{1,2})/
var now=time.replace(reg,function($1,$2,$3,$4){
if($3<10){$3="0"+$3}
if($4<10){$4="0"+$4}
return $2+"-"+$3+"-"+$4
})
console.log(now)   //2017-08-08


另一种实现方式:

var now=(new Date()).toLocaleDateString().replace(/\/(\d)\//, "-0$1-").replace(/-(\d)$/, "-0$1")
console.log(now)   //2017-08-08
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则