Heim  >  Artikel  >  Web-Frontend  >  Zwei Methoden für JavaScript, um festzustellen, ob das eingegebene Datum ein gesetzliches Datum ist

Zwei Methoden für JavaScript, um festzustellen, ob das eingegebene Datum ein gesetzliches Datum ist

高洛峰
高洛峰Original
2016-11-25 14:56:543381Durchsuche

JavaScript-Code
/// Überprüfen Sie, ob das eingegebene Datum ein korrektes Datumsformat hat:
/// Unterstützt JJJJ-MM-TT, JJJJ-MM-TT, JJJJ/M/TT, JJJJ/MM/TT vier Eingabeformate.

function checkDate(strInputDate) {
// Definiere ein konstantes Array von Tagen in einem Monat
var DA = [0, 31, 28, 31, 30, 31, 30, 31, 31 , 30, 31, 30, 31];

// Einheitliches Datumsformat
strDate = strInputDate.replace(/-/g, "/");

// Bestimmen Sie, ob das Datum wird erwartet Format
if (strDate.indexOf("/") == -1) {
warning("Please enter yyyy-M-d, yyyy-MM-dd, yyyy/M/d, yyyy/ MM/TT-Format. ")
return false;
}

// Jahr, Monat und Tag zerlegen
arrD = strDate.split("/");
if (arrD.length ! = 3) return false;
y = parseInt(arrD[0], 10);
m = parseInt(arrD[1], 10);
d = parseInt(arrD[ 2], 10) ;

//Beurteilen Sie, ob Jahr, Monat und Tag Zahlen sind
if (isNaN(y) || isNaN(m) || isNaN(d)) return false;

//Beurteilen Sie, ob der Monat zwischen 1 und 12 liegt
if (m > 12 || m < 1) return false;
//Bestimmen Sie, ob es ein Schaltjahr ist
if (isLoopYear(y)) DA[2] = 29;

//Bestimmen Sie, ob der eingegebene Tag die Gesamtzahl der Tage im aktuellen Monat überschreitet.
if (d > DA[m]) return false;

//Wenn alle Bedingungen überprüft sind, sollte es sich um ein gesetzliches Datum handeln.
// Wenn Sie das Datum einmal formatieren möchten, können Sie dies hier tun. Im Folgenden wird es in das von der Datenbank erkannte Datumsformat yyyy-MM-dd formatiert
// str = y + "-" + (m< ;10?"0"") + m + "-" + (d<10?"0"") + d;
str = y + "-" + (m < 10 ? " 0" : "") + m + "-" + (d < 10 ? "0" : "") + d;
warning(str)
return true;
}
function isLoopYear(theYear) {
return (new Date(theYear, 1, 29).getDate() == 29);
}

//Methode 2:
// / Überprüfen Sie, ob das eingegebene Datum ein korrektes Datumsformat hat:
/// Unterstützt vier Eingabeformate: jjjj-M-t, jjjj-MM-tt, jjjj/M/t und jjjj/MM/tt.
function CheckDate2(strInputDate) {
if (strInputDate == "") return false;
strInputDate = strInputDate.replace(/-/g, "/");
var d = neues Datum (strInputDate);
if (isNaN(d)) return false;
var arr = strInputDate.split("/");
return ((parseInt(arr[0], 10) == d .getFullYear()) && (parseInt(arr[1], 10) == (d.getMonth() + 1)) && (parseInt(arr[2], 10) == d.getDate()));
}


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:js-Format dezimalNächster Artikel:js-Format dezimal