2016-01-13 73 views
-2

我收到「日期」通過在形式YYYYMMDD從用於我沒有控制數據庫表中的字符串表示。 (我無法修改日期字段的類型/格式)格式的字符串等的日期

我想在正確的位置插入字符'/'。 (20150113 = 2015年1月13日

正如我一直無法使用new Date('20150113')我使用正則表達式插入像這樣的斜線:

string = string.toString().replace(/(^[0-9]{4})/g , "$1\/"); 
string = string.replace(/(^[0-9\/]{7})/g , "$1\/"); 

是否有可能合併這兩個正則表達式合併爲一個或有一個現有的函數(角,JavaScript),可以理解日期格式()?

+1

您可能會發現類似的問題有用http://stackoverflow.com/questions/26676184/angularjs-how-to-convert-string-yyyymmdd-to-date, MomentJS是另一種選擇。 –

+0

如果你確定你的格式** yyyymmdd **,那麼你可以不用REGEX'String dateStr =「20150113」; (0,4)+「/」+ dateStr.substring(4,6)+「/」+ dateStr.substring(6);' – mmuzahid

+0

@MattMcCabe我到處搜索了一個類似的問題(就像我一直這樣做),我找不到那一個。謝謝 :) – gyc

回答

2

這應該做的工作:

string = string.toString().replace(/(^[0-9]{4})([0-9]{2})([0-9]{2})/g , "$1\/$2\/$3");