正則中$1、$2的應用--日期格式化

在正則表達式中可以通過一對小括號“ ()”將一個完整的正則表達式分割出幾個子表達式,並可以用 “$ + 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章