Czasem, a nawet dosyć często, zachodzi potrzeba sprawdzenia poprawności wprowadzonej daty przez użytkownika. Ma to miejsce np. gdy chcemy podaną datę zapisać do bazy SQL, w której jej format jest narzucony odgórnie. Prezentowana tutaj funkcja sprawdza czy format daty jest właściwy, zaś jeśli nie, wyświetla użytkownikowi stosowny komunikat.

<script language="JavaScript">
function checkDate(source,target)
{
	var tb=document.getElementById(source).value;
	var err=document.getElementById(target);
	tablica=tb.split('-');
	if (tablica[0]>1000 && tablica[0]<9000 && tablica[1]>0 && tablica[1]<13 && tablica[2]>0 && tablica[2]<32) err.innerHTML="";
	else err.innerHTML="<b>Format daty jest błędny</b>";
}
</script>

Format daty powinien być następujący: rrrr-mm-dd.
Funkcja rozbija wprowadzony ciąg po znaku ‘-’ na tablicę i sprawdza, czy poszczególne jej elementy spełniają określone kryteria. I tak rok powinien zawierać się między 1000 a 9000 (oczywiście można ten przedział zawęzić), miesiąc pomiędzy 0 a 13 i dzień miesiąca między 0 a 32.
Po wrzuceniu powyższego kodu pomiędzy tagi HEAD można z niego skorzystać w następujący sposób:

<input name=date id=date onblur=checkDate('date','dateDIV');><div id=dateDIV></div>

Data zostanie sprawdzona w momencie, kiedy użytkownik przeskoczy do kolejnego pola w formularzu albo wykona jakąkolwiek inną akcję w wyniku której pole ‘date’ przestanie być aktywne.

Dodano 12/02/2009 o 17:05
Kategoria: JavaScript
Tagi: , , , ,