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

用正则表达式格式化Javascript时间戳?,javascript,regex,Javascript,Regex,如何将字符串2014-09-10 10:07:02格式化为以下格式: 2014,09,10,10,07,02 谢谢 又好又简单 var str=“2014-09-10 10:07:02”; var newstr=str.replace(/[:-]/g',,'); console.log(newstr)基于这样一种假设,即您希望除去除数字以外的所有内容,另一种方法是反转正则表达式以排除除数字以外的所有内容。实际上,与之前发布的黑名单方法相比,这是一种白名单方法 var dateTimeStrin

如何将字符串2014-09-10 10:07:02格式化为以下格式:

2014,09,10,10,07,02

谢谢

又好又简单

var str=“2014-09-10 10:07:02”;
var newstr=str.replace(/[:-]/g',,');

console.log(newstr)基于这样一种假设,即您希望除去除数字以外的所有内容,另一种方法是反转正则表达式以排除除数字以外的所有内容。实际上,与之前发布的黑名单方法相比,这是一种白名单方法

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

var reformattedDateTimeString = dateTimeString.replace(regex, ',');
请注意,
+
具有替换字符组的效果(例如,两个空格将仅替换为一个逗号)


还请注意,如果要将字符串用作数字(例如,,。

请选择[“-”,“,”:“],然后替换为“,”。应该非常简单。请阅读已接受的答案,以便更好地理解您使用的是什么。请参阅我的答案的附录,注意如果您打算操作这些数字(例如使用parseInt),则必须指定基数。不,不是故意的。你是对的-你的是更简洁的形式。是的,完全正确,应用了修正。希望现在清楚了。谢谢。“带前导零的数字在JavaScript中被解释为base-8。”---不再是了。@zerkms虽然我必须承认这对我来说是新闻(感谢您的更新!),但请注意,我链接到的MDN页面声明它是特定于实现的,并建议始终指定基数。自ES2015以来,它不是特定于实现的(参见步骤10-11)