Détection des instances de date invalides en JavaScript
Déterminer si un objet Date JavaScript est valide peut être un défi. Bien qu'elles apparaissent sous forme d'objets, les dates invalides renvoient "Date invalide" lors de la conversion de chaîne. Cet écart entre la sortie instanceof Date et console.log pose un problème aux développeurs.
Solution : vérification de la valeur temporelle NaN
Une méthode fiable pour détecter les dates non valides consiste à testez NaN comme valeur temporelle. Dans l'objet Date, NaN indique une date non valide, alors que les dates valides ont une valeur temporelle valide. Ce comportement est documenté dans la norme ECMA-262.
Exemple de code :
if (Object.prototype.toString.call(d) === "[object Date]") { if (isNaN(d)) { // d.getTime() or d.valueOf() also works // Date object is invalid } else { // Date object is valid } } else { // Not a date object }
Version simplifiée :
function isValidDate(d) { return d instanceof Date && !isNaN(d); }
Notez que cette solution valide uniquement les objets Date, pas la saisie de date. Les dates non valides, telles que « 32/13/2013 », sont distinctes des instances de date non valides.
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!