You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript正则表达式将5/24/2018转为2018-05-24格式

嘿,要把MM/DD/YYYY(或M/D/YYYY)格式的日期转换成YYYY-MM-DD,用JavaScript正则表达式完全可以搞定,我给你一步步讲清楚怎么实现:

核心思路

我们需要用正则捕获原日期中的月、日、年三个部分,然后按照年-月-日的顺序重新拼接,同时处理单数字的月/日补零的问题(比如把5变成05)。

基础实现(不补零)

如果不需要补零,直接用正则捕获组替换就可以:

const originalDate = '5/24/2018';
// 正则捕获组:$1=月,$2=日,$3=年
const dateRegex = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
const formattedDate = originalDate.replace(dateRegex, '$3-$1-$2');

console.log(formattedDate); // 输出:"2018-5-24"
带补零的实现(规范的YYYY-MM-DD格式)

如果要让单数字的月/日自动补零(比如5→05),可以在替换时用函数处理每个捕获组:

const originalDate = '5/24/2018';
const dateRegex = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;

const formattedDate = originalDate.replace(dateRegex, (match, month, day, year) => {
  // 用padStart给单数字补零,ES2017及以上支持
  const paddedMonth = month.padStart(2, '0');
  const paddedDay = day.padStart(2, '0');
  return `${year}-${paddedMonth}-${paddedDay}`;
});

console.log(formattedDate); // 输出:"2018-05-24"

兼容旧环境的补零方案

如果需要兼容不支持padStart的旧浏览器,可以手动写个补零函数:

// 手动补零函数
function padZero(num) {
  return num < 10 ? `0${num}` : num;
}

const originalDate = '5/24/2018';
const dateRegex = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;

const formattedDate = originalDate.replace(dateRegex, (match, month, day, year) => {
  return `${year}-${padZero(month)}-${padZero(day)}`;
});

console.log(formattedDate); // 输出:"2018-05-24"
格式验证(可选)

如果要确保输入的日期格式符合要求,可以先做正则匹配验证:

const originalDate = '5/24/2018';
const dateRegex = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;

if (dateRegex.test(originalDate)) {
  const formattedDate = originalDate.replace(dateRegex, (match, month, day, year) => {
    const paddedMonth = month.padStart(2, '0');
    const paddedDay = day.padStart(2, '0');
    return `${year}-${paddedMonth}-${paddedDay}`;
  });
  console.log(formattedDate); // 输出:"2018-05-24"
} else {
  console.log('⚠️ 日期格式不正确,请输入类似MM/DD/YYYY或M/D/YYYY的格式');
}

内容的提问来源于stack exchange,提问作者Mohanasundaram N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:46:20