PLZ Form maxlenght vom Land

Ronald Nickel

Legendäres Mitglied
Hallo nachdem ich da Problem mit der nummerischen PLZ gelöste habe (Danke an alle Beteiligten) ein weiteres Problem.
Ich muss abhngig von dem zuvor gewählten Land (DE, AT, CH) die 4 bzw. 5stelligkeit der PLZeingabe vreifizieren.

Wurde also AT oder CH als Land augewählt MUSS die nachfolgend eingegebene PLZ 4 stellig sein. Nur Bei DE MUSS sie 5 stellig sein.

Hat mir da jemnd ne Lösung für einen Java script Steinzeitmensch?

Gruß Ronny
 
Hi,

wenn ich Dich richtig verstanden habe, möchtest du die vom Benutzer eingegebene PLZ in Abhängigkeit vom zuvor gewählten Land verifizieren. Anbei ein kleines HTML/JS-Beispiel, wie Du das Thema angehen könntest.

CODE
<html>
<head>
<title>test</title>

<script>
function verificate ()
{
var country = document.getElementById ( "country" ).value;

if ( country == "de" )
{
if ( (document.getElementById ( "plz" ).value.length < 5) || (document.getElementById ( "plz" ).value.length > 5) )
alert ( "Die PLZ muss 5-stellig sein." );
else
alert ( "Die PLZ ist OK." );
}
else if ( (country == "at") || (country == "ch" ) )
{
if ( (document.getElementById ( "plz" ).value.length < 4) || (document.getElementById ( "plz" ).value.length > 4) )
alert ( "Die PLZ muss 4-stellig sein." );
else
alert ( "Die PLZ ist OK." );
}
}
</script>
</head>
<body>

<select id="country">
<option value="de">Deutschland</option>
<option value="at">Österreich</option>
<option value="ch">Schweiz</option>
</select><br/>
PLZ: <input type="text" id="plz" size="5"></input><br/><br/>

<input type="button" onClick="verificate()" value="» absenden"/>

</body>
</html>



Gruß
Christian
 
Als Überprüfung würde ich eher etwas der Form

CODE erg = document.getElementById( "plz" ).value.match(/^\d{5}$/);
if (!erg) { alert('Keine PLZ'); }


nehmen. Also eine Überprüfung per RegEx, ob das für de fünf Ziffern sind.


Das Beispiel oben akzeptiert auch fünf Leerzeichen.

Ferner: Serverseitig analog überprüfen - die clientseitige Prüfung kann problemlos ausgehebelt werden.
 
Dabei sollte noch berücksichtigt werden, daß ostzonale Postleitzahlen, die mit 0 beginnen, gerne gekürzt werden. Ich löse das, indem ich eine 0 voranstelle, sollte strlen 4 sein.
 
QUOTE (mainlink @ So 6.09.2009, 10:53)Dabei sollte noch berücksichtigt werden, daß ostzonale Postleitzahlen, die mit 0 beginnen, gerne gekürzt werden. Ich löse das, indem ich eine 0 voranstelle, sollte strlen 4 sein.

Das passiert aber nur dann, falls die PLZ fehlerhaft als Integer definiert ist. Das muß ein Textfeld / nvarchar-Feld sein, dann wird nichts gekürzt.


Bei anderen Ländern gibt es auch Buchstaben in den Postleitzahlen.
 
Zurück
Oben