首页  >  文章  >  web前端  >  如何安全地将 dd-mm-yyyy 字符串转换为 JavaScript 日期对象?

如何安全地将 dd-mm-yyyy 字符串转换为 JavaScript 日期对象?

Susan Sarandon
Susan Sarandon原创
2024-11-22 19:57:14293浏览

How to Safely Convert a dd-mm-yyyy String to a JavaScript Date Object?

将 dd-mm-yyyy 格式的字符串转换为 JavaScript 中的日期对象

尝试转换 dd-mm-yyyy 格式的字符串到 Date 对象中,由于 '-' 的存在,您可能会遇到“无效日期”错误

解决方案 1:按“-”拆分

将字符串分成单独的日、月和年部分:

var dateStr = $("#datepicker").val();
var dateParts = dateStr.split("-");
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);

解决方案 2:使用正则表达式(正则表达式)

使用正则表达式从字符串中提取各个组成部分:

var regex = /(\d{2})-(\d{2})-(\d{4})/;
var date = new Date(dateStr.replace(regex, "//"));

建议:按“-”拆分

虽然正则表达式提供了更大的灵活性,但在解析固定格式字符串时建议使用“-”进行分割,因为它更简单、更高效高效,特别是当您在代码的多个部分重用解析逻辑时。

可重用性和现代 JavaScript

为了可重用性,您可以将解析逻辑包装在函数:

function parseDate(dateStr) {
  var dateParts = dateStr.split("-");
  return new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);
}

在现代 JavaScript 中,您可以使用数组解构来简化解析:

const parseDate = (dateStr) => {
  const [day, month, year] = dateStr.split("-");
  return new Date(year, month - 1, day);
};

以上是如何安全地将 dd-mm-yyyy 字符串转换为 JavaScript 日期对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn