2016-01-13 71 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");