Formel zur Altersprüfung

becks626

Cadet 1st Year
Registriert
Aug. 2012
Beiträge
15
Tachchen :)
ICh bin mommentan dabei eine kleine Website zu schreiben(ziemlich belanglos,eigentlich hauptsächlich privat)..jedoch möchte ich dort einen Altersnachweis einbauen mit Hilfe von HTML4und JavaScript..ich habe schon ein konzept ich denke auch es sollte soweit funktionieren jedoch fehlt mir noch eine Formel um die Werte auszuwerten :D
Also Mathe!!! :evillol:

Also ich habe jetzt jedem Jahr den jeweilgen wert zugewiesen also.. 1999 den wert 1999..
ich weis bisschen hochgestochen kann man ja aber auch noch ändern ;)

Nur leider hänge ich dabei fest wie ich
1. das jeweils aktuelle datum nehme (heute)
2. noch die monate und tage einbinde um sicher zu stellen das das 18.lebensjahr auf den tag genau überschritten ist und nicht nur das jahr eine rolle spielt..

so viel text wenig sinn..falls mein text zu verwuselt ist einfach schreiben was nicht verstanden wurde..

ach und p.s. ist mein qtext überhaupt soweit..nützlich?
und p.p.s. ich kann nur html4 und javascript ^^


HTML:
<html>
	<head>
	<script>
		function test()
		{
			var date= new Date()
			var tag= (document.alter.Tag.value)
			var monat= (document.alter.Monat.value)
			var jahr= (document.alter.Jahr.value)
			
			tag = parseInt(tag)		;
			monat = parseInt(monat)	;
			jahr = parseInt(jahr)	;
			
			if (date.getYear()-jahr > 18)
				{
					prompt("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
					
				}
			else 
				{
					if(date.getMonth()-monat >= 1)
						{
							prompt("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
						}
				}		
					else
						{
						
							if(date.getDay()-tag >=1)
								{
									prompt("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
								}
						}		
							else 
								{
									open("Killzoneweb.html");
								}
				
				
		}
	</script>	
	</head>

	<body>
		<center>
		<br>
		<br>
		<br>
		<br>
		<br>
		<br>
		<br>
		<br>
		<form name="alter">
    <nobr><select size="1" name="Tag" onchange="update_auswahl()">

    <option value=1 selected>1</option>
    <option value=2>2</option>
	<option value=3>3</option>	
	<option value=4>4</option>
	<option value=5>5</option>
	<option value=6>6</option>
	<option value=7>7</option>
	<option value=8>8</option>
	<option value=9>9</option>
	<option value=10>10</option>
	<option value=11>11</option>
	<option value=12>12</option>
	<option value=13>13</option>
	<option value=14>14</option>
	<option value=15>15</option>
	<option value=16>16</option>
	<option value=17>17</option>
	<option value=18>18</option>
	<option value=19>19</option>
	<option value=20>20</option>
	<option value=21>21</option>
	<option value=22>22</option>
	<option value=23>23</option>
	<option value=24>24</option>
	<option value=25>25</option>
	<option value=26>26</option>
	<option value=27>27</option>
	<option value=28>28</option>
	<option value=29>29</option>
	<option value=30>30</option>
	<option value=31>31</option>
	</select>
	
	
	
	
    <select size="1" name="Monat">
    <option selected value=1>Januar</option>
    <option value=2>Februar</option>
    <option value=3>März</option>
    <option value=4>April</option>
    <option value=5>Mai</option>
    <option value=6>Juni</option>
    <option value=7>Juli</option>
    <option value=8>August</option>
    <option value=9>September</option>
    <option value=10>Oktober</option>
    <option value=11>November</option>
    <option value=12>Dezember</option>
	</select>
	
	<select size="1" name="Jahr">
 
<option selected>2012</option>
<option value=2011>2011</option>
<option value=2010>2010</option>
<option value=2009>2009</option>
<option value=2008>2008</option>
<option value=2007>2007</option>
<option value=2006>2006</option>
<option value=2005>2005</option>
<option value=2004>2004</option>
<option value=2003>2003</option>
<option value=2002>2002</option>
<option value=2001>2001</option>
<option value=2000>2000</option>
<option value=1999>1999</option>
<option value=1998>1998</option>
<option value=1997>1997</option>
<option value=1996>1996</option>
<option value=1995>1995</option>
<option value=1994>1994</option>
<option value=1993>1993</option>
<option value=1992>1992</option>
<option value=1991>1991</option>
<option value=1990>1990</option>
<option value=1989>1989</option>
<option value=1988>1988</option>
<option value=1987>1987</option>
<option value=1986>1986</option>
<option value=1985>1985</option>
<option value=1984>1984</option>
<option>1983</option>
<option>1982</option>
<option>1981</option>
<option>1980</option>
<option>1979</option>
<option>1978</option>
<option>1977</option>
<option>1976</option>
<option>1975</option>
<option>1974</option>
<option>1973</option>
<option>1972</option>
<option>1971</option>
<option>1970</option>
<option>1969</option>
<option>1968</option>
<option>1967</option>
<option>1966</option>
<option>1965</option>
<option>1964</option>
<option>1963</option>
<option>1962</option>
<option>1961</option>
<option>1960</option>
<option>1959</option>
<option>1958</option>
<option>1957</option>
<option>1956</option>
<option>1955</option>
<option>1954</option>
<option>1953</option>
<option>1952</option>
<option>1951</option>
<option>1950</option>
<option>1949</option>
<option>1948</option>
<option>1947</option>
<option>1946</option>
<option>1945</option>
<option>1944</option>
<option>1943</option>
<option>1942</option>
<option>1941</option>
<option>1940</option>
<option>1939</option>
<option>1938</option>
<option>1937</option>
<option>1936</option>
<option>1935</option>
<option>1934</option>
<option>1933</option>
<option>1932</option>
<option>1931</option>
<option>1930</option>
<option>1929</option>
<option>1928</option>
<option>1927</option>
<option>1926</option>
<option>1925</option>
<option>1924</option>
<option>1923</option>
<option>1922</option>
<option>1921</option>
<option>1920</option>
<option>1919</option>
<option>1918</option>
<option>1917</option>
<option>1916</option>
<option>1915</option>
<option>1914</option>
<option>1913</option>

    </select></nobr></form>
	<br>
	<br>
	<input type=button value="   OK   " onclick=test()></center>
	
	
	
	
	
	</body>





</html>
 
  • Gefällt mir
Reaktionen: Hexxxer76
Und was passiert, wenn jemand JS deaktiviert hat? ;) *Zaunspfahl*
 
Von der Sicherheit nimmt sich das nichts. (Wer gibt schon sein richtiges Alter ein =O)
Wäre aber eine Überlegung wert, dass man es serverseitig macht.
(Macht ja aber auch nur Sinn, wenn die darunterliegende Seite auch ohne JS auskommen kann).
 
Vielen Danke das hat mir schon weiter geholfen..
habs ein wenig verändert und nun kommt nur noch die meldung das ich nicht alt genug bin :D
HTML:
<script>
		    function test()
    {
    var eingabe_tag= (document.alter.Tag.value)
    var eingabe_monat= (document.alter.Monat.value)
    var eingabe_jahr= (document.alter.Jahr.value)
     
    var eingabe_Datum = new Date(eingabe_tag, eingabe_monat, eingabe_jahr);
    var aktuelles_Datum = new Date();
    var aktueller_Tag = aktuelles_Datum.getDate();
    var aktueller_Monat = aktuelles_Datum.getMonth();
    var aktuelles_Jahr = aktuelles_Datum.getYear();
     
     
    if((aktuelles_Jahr - eingabe_jahr) < 18)
    {
    alert("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
    return false;
    }
     
    if(eingabe_monat > aktueller_Monat)
    {
    alert("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
    return false;
    }
     
    if(eingabe_tag <= aktueller_Tag)
    {
    alert("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
    return false;
    }
    open("Killzoneweb.html");
   
    }

Und was passiert, wenn jemand JS deaktiviert hat? *Zaunspfahl*
Dann kommt er in die Hölle :freak::D
hehe nein..aber stimmt wäre bisschen schlecht..in dem fall müsste ich mir ein paar andere sprachen angucken und es umschreiben ;)
 
Zuletzt bearbeitet:
Code:
		 function test()
		    {
		    var eingabe_tag= (document.alter.Tag.value)
		    var eingabe_monat= (document.alter.Monat.value)
		    var eingabe_jahr= (document.alter.Jahr.value)

			window.console.log("Eingabe:"+eingabe_tag+"."+eingabe_monat+"."+eingabe_jahr);
		     
		    var eingabe_Datum = new Date(eingabe_tag, eingabe_monat, eingabe_jahr);
		    var aktuelles_Datum = new Date();
		    var aktueller_Tag = aktuelles_Datum.getDate();
			// ab 0, nicht ab 1
		    var aktueller_Monat = aktuelles_Datum.getMonth()+1;
			// er rechnet ab 1900
		    var aktuelles_Jahr = aktuelles_Datum.getYear()+1900;

		window.console.log("Aktuell:"+aktueller_Tag+"."+aktueller_Monat+"."+aktuelles_Jahr);
		     
		     
		    if((aktuelles_Jahr - eingabe_jahr) < 18){
		    	alert("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
		   	return false;
		    }else if((aktuelles_Jahr - eingabe_jahr) > 18){
			alert("alt genug");
			return true; //open was weiß ich
	            }else if((aktuelles_Jahr - eingabe_jahr) == 18){    
		   	 if(eingabe_monat > aktueller_Monat){
		   		 alert("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
		   		 return false;
		   	 }else if(eingabe_monat < aktueller_Monat){
				alert("alt genug");
                                return true;
		    	 }else if(eingabe_monat == aktueller_Monat){
		   	 	if(eingabe_tag <= aktueller_Tag){
		   		 	alert("alt genug");
					return true;
		   	 	}
		   		else{
		   		 	alert("Du bist noch nicht alt genug um diese Seite zu besuchen ! ") ;
		   		 	return false;
				}
		    	}
		}
}


So, ... Feintuning :D

Und vor return true dein open(link) ersetzen oder so.

Alternativ den Rückgabe-Wert der funktion nehmen und in ne If packen. Dadurch muss man nicht 3-4 den alert niederschreiben oder das open.

Aber das sei dir nun überlassen.
 
Zuletzt bearbeitet:
becks626 schrieb:
Dann kommt er in die Hölle :freak::D
hehe nein..aber stimmt wäre bisschen schlecht..in dem fall müsste ich mir ein paar andere sprachen angucken und es umschreiben ;)

Ich würde eher dich dafür in die Hölle schicken, weil essentielle Features einer Website mit JS erstellt werden :p

JS sollte ausschließlich für überflüssige Features eingesetzt werden, auf welche man verzichten kann und dadurch kein Nachteil entsteht, wenn JS deaktiviert wird.

Eine Altersprüfung sollte grundsätzlich serverseitig erfolgen. Mal davon abgesehen, dass es eh quatsch ist, sowas überhaupt abzufragen. Aber es dient ja auch dem Lernzweck, von daher sei es dir verziehen :evillol:
 
Zuletzt bearbeitet:
Zurück
Oben