Předchozí Index Další

Kontrola správného zadání datumu

Ukázka DownLoad



<HTML>
<HEAD>
<TITLE>JavaScript</TITLE>
<SCRIPT Language="JavaScript">
<!--
function kontrola_datum(vstup)
{
var text
var index
var tecka
var den
var mesic
var rok
var ch
text=""

den=""
mesic=""
rok=""
tecka=0

for (index = 0; index < vstup.value.length; index++)
{
ch = vstup.value.charAt(index);
if (ch != "0" && ch != "1" && ch != "2" && ch != "3" && ch != "4" && ch != "5" && ch != "6" && ch != "7" && ch != "8" && ch != "9" && ch != ".")
{text="Pole Datum zadavajte vo formate DD.MM alebo DD.MM.RRRR (DD=den, MM=mesiac, RRRR=rok).\r"}
if ((ch == "0" || ch == "1" || ch == "2" || ch == "3" || ch == "4" || ch == "5" || ch == "6" || ch == "7" || ch == "8" || ch == "9") && (text ==""))
{
if (tecka == 0)
{den=den + ch}
if (tecka == 1)
{mesic=mesic + ch}
if (tecka == 2)
{rok=rok + ch}
}
if (ch == "." && text == "")
{
if (tecka == 1)
{tecka=2}
if (tecka == 0)
{tecka=1}

}
}

if ((den<1 || den >31) && (text == ""))
{text=text + "Pocet dni v uvedenom mesiaci nemoze byt mensi ako 1 a vacsi ako 31.\r"}
if ((mesic<1 || mesic>12) && (text == ""))
{text=text + "Pocet mesiacov nemoze byt mensi ako 1 a vacsi ako 12.\r"}
if (rok<1998 && tecka == 2 && text == "" && rok != "")
{text=text + "Rok nemoze byt mensi ako 1998.\r"}
if ((tecka == 2 && rok == "") || (tecka > 2))
{text=text+ "Datum zadavajte vo formatu DD.MM alebo DD.MM.RRRR (DD=den, MM=mesiac, RRRR=rok)\r"}
if (mesic == 2)
{
if (rok != "")
{
if (rok % 4 == 0)
{
if (den>29)
{text=text + "Vo februari roku " + rok + " je maximalne 29 dni.\r"}
}
else
{
if (den>28)
{text=text + "Vo februari roku " + rok + " je maximalne 28 dni.\r"}
}
}
else
{
if (den>29)
{text=text + "Vo februari roku je maximalne 29 dni.\r"}
}
}

if ((mesic == 4 || mesic == 6 || mesic == 9 || mesic == 11) && (den>30))
{text=text + "Pocet dni v uvedenom mesiaci nemoze byt mensi ako 1 a vacsi ako 30.\r"}

if (text!="")
{
alert(text);
document.Form.flag.value="0"
}
else
{
document.Form.flag.value="1"
}

}

function test(aaorm)
{
var text
var flag
text=""
flag=true
if (document.Form.flag.value == "0")
{text=text + "Niektore zo vstupnych poli neodpovedaju spravnej syntaxi.\r"}

if (text!="")
{
alert(text)
flag=false
}
return flag
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM name="Form" action="mailto:unknown@unknown.sk" method="post" onSubmit="return test(this.form)">
Datum : <INPUT type="text" name="datum" onChange="kontrola_datum(document.Form.datum)" size="10" maxlength="10"><BR>
Meno : <INPUT type="text" name="meno">
<INPUT type="submit" value="OK">
<INPUT type="hidden" name="flag" value="1">
</FORM>
</BODY>
</HTML>