使用正则表达式的Javascript时间戳格式?

时间:2016-11-23 00:29:02

标签: javascript regex

如何将2014-09-10 10:07:02的字符串格式化为这样的字符:

2014,09,10,10,07,02

谢谢!

2 个答案:

答案 0 :(得分:1)

美好而简单。

var str = "2014-09-10 10:07:02";

var newstr = str.replace(/[ :-]/g, ',');

console.log(newstr);

答案 1 :(得分:0)

基于您想要除掉数字之外的所有内容的假设,另一种方法是反转正则表达式以排除除数字之外的所有内容。实际上,与之前发布的黑名单方法相比,这是一种白名单方法。

var dateTimeString = "2016-11-23 02:00:00";
var regex = /[^0-9]+/g; // Alternatively (credit zerkms): /\D+/g

var reformattedDateTimeString = dateTimeString.replace(regex, ',');

请注意+具有替换字符组的效果(例如,两个空格将仅替换为一个逗号)。

另请注意,如果您打算将字符串用作数字(例如via parseInt),numbers with a leading zero are interpreted within JavaScript as being base-8