Maison > interface Web > js tutoriel > Comment convertir en toute sécurité une chaîne jj-mm-aaaa en un objet date JavaScript ?

Comment convertir en toute sécurité une chaîne jj-mm-aaaa en un objet date JavaScript ?

Susan Sarandon
Libérer: 2024-11-22 19:57:14
original
370 Les gens l'ont consulté

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

Convertir une chaîne au format jj-mm-aaaa en objet date en JavaScript

En essayant de convertir une chaîne au format jj-mm-aaaa dans un objet Date, vous pouvez rencontrer des erreurs « Date invalide » en raison de la présence de « - » symboles.

Solution 1 : Diviser sur "-"

Diviser la chaîne en ses composants individuels jour, mois et année :

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

Solution 2 : Utiliser des expressions régulières (Regex)

Utiliser une regex pour extraire le composants individuels de la chaîne :

var regex = /(\d{2})-(\d{2})-(\d{4})/;
var date = new Date(dateStr.replace(regex, "//"));
Copier après la connexion

Recommandation : diviser sur "-"

Bien que l'expression régulière offre plus de flexibilité, la division sur "-" est recommandée lors de l'analyse corrigée -formater les chaînes car c'est plus simple et plus efficace, surtout si vous réutilisez la logique d'analyse dans plusieurs parties de votre code.

Réutilisabilité et JavaScript moderne

Pour la réutilisabilité, vous pouvez envelopper la logique d'analyse dans une fonction :

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

En JavaScript moderne, vous pouvez utiliser la déstructuration de tableaux pour simplifier l'analyse :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal