Antworten auf deine Fragen:
Neues Thema erstellen

JS PLZ-Abfrage auf Ziffern beschränken

paddybee

Noch nicht viel geschrieben

Hallo zusammen, ich habe folgendes Problem.

Ich würde gerne eine PLZ-Abfrage mittels Javascript in eine Seite einbauen. Soweit so gut habe das Script auch schon fast fertig und es funktioniert, aber oh Schreck! Wenn ich keine Zahlen eingebe funktioniert das Script auch wie bei Zahlen. Wie kann ich das bestehende Script so erweitern, dass ein Fenster aufgeht, wenn ich ein anderes Zeichen z.B. einen Buchstaben eingebe. Gibt es da irgendeinen Trick das eizubauen ohne den Rest komplett verändern zu müssen?!?

Hier der
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 


<title>PLZ Check</title>

<script language="JavaScript">
<!--
function CheckPLZ()
{
var plz = document.feld.Textfeld.value;
var laenge = plz.length;
var anzahl = document.getElementById("plzinput").getAttributeNode("maxlength").nodeValue;
if (laenge != anzahl)
{
window.alert("Bitte " + anzahl + "-stellige PLZ eingeben! Sie haben nur "+ laenge + " Stelle(n) eingegeben!");
setfocus();
 }
if (laenge == anzahl)
{ window.alert("Danke, die PLZ ist OK!");
 }
}
function setfocus() {
document.feld.Textfeld.focus();
}

//-->
</script>
</head>
<body bgcolor=c0c0c0 onload="setfocus();">
<form name="feld">
<input id="plzinput" type="number" name="Textfeld" size="5" maxlength="5">
<input name="button" type="button" onClick="CheckPLZ(); return false" value="Eingabepr&uuml;fung">
</form>
</body>
</html>


<body>
</body>
</html>
Würde mir schon reiche, wenn das Script nicht erlaubt Buchstaben in das Formular einzufügen, aber ich weiß leider nicht, wie das geht und auch google hatte nichts für mich parat. Wäre schön, wenn mir jemand helfen könnte!

Beste Grüße und vielen Dank im Voraus
paddybee

P.S.: Ach ja in dem Script geht es nicht darum zu testen, ob es die PLZ auch wirklich gibt, nur das das ganze vom Prinzip her klappt!
 

paddybee

Noch nicht viel geschrieben

AW: JS PLZ-Abfrage auf Ziffern beschränken

Zunächst einmal danke!

Aber wie baue ich das ein? Hab da irgendwie gar keine Peilung momentan. Gibts da nicht was anderes? Bin blutiger Anfänger und schon froh das ich dass was da oben steht erst mal zustande gebracht habe!

Gibts da ne Alternative, wo auch Anfänger durchsteigen?! Hilfe! Ich denke ich werde das nie begreifen! :'( :schmoll: ;)

B.G.
Paddybee
 

cebito

undefined

AW: JS PLZ-Abfrage auf Ziffern beschränken

Eine Überprüfung ist eigentlich simpel, mit "isNaN" - "Not a Number":
HTML:
if (isNaN(plz)) {
      alert("Das ist keine Zahl!");
      // zurück zum Formular
}else{
      // mach was gemacht werden muss...
}
 

paddybee

Noch nicht viel geschrieben

AW: JS PLZ-Abfrage auf Ziffern beschränken

Woran liegt das dass diese Zahlen als gültige Zahlen durchgehen?

Und warum quick und dirty? Ist doch in SelfHTML auch aufgelistet und meines Wissens ohne Beschränkungen.

Hast Du da eine Erklärung - das dem wirklich so ist habe ich selbstverständlich überprüft, aber ich verstehe nicht warum so klappt z.B. ja auch 12f15, warum aber 12e15 nicht?!??

Wäre Dir sehr dankbar, wenn Du mir das erklären könntest!

B.G.
Paddybee
 

Duddle

Posting-Frequenz: 14µHz

AW: JS PLZ-Abfrage auf Ziffern beschränken

isNaN() heisst wortwörtlich "is not a number", prüft also ob der Parameter keine Zahl ist. Das heisst, alles was als Zahl interpretiert wird, gibt dort falsch zurück und gilt für deine Fallunterscheidung als gültige PLZ.

Da .25233 eine gültige Zahl ist (entspricht 0,25233), genauso wie 23e17 (das e bzw. E ist Kurzschreibweise für "10 hoch", im Beispiel 23*10^17), gelten beide - und andere Formate - als gültige PLZ.


Duddle
 

sokie

Mod | Web

AW: JS PLZ-Abfrage auf Ziffern beschränken

"quick and dirty" ist a nicht schlechtes - wenn sichergestellt ist, dass das Ergebnis auch dem Wunsch entspricht.
das mit der Erklärung was eine Nummer ist, hat Duddle ja freundlicherweise übernommen, danke:)
 

TimeePic

Nicht mehr ganz neu hier

AW: JS PLZ-Abfrage auf Ziffern beschränken

Mann könnte sich aber auch einfach eine funktion in php schreiben, welche die PLZ in einen String umwandelt und dann jede Stelle des Strings überprüfen, ob nummerisch oder nicht.

BSP: (mal so aus dem Kopf ohne getestet)

PHP:
//PLZ in einen String umwandeln
$numbers = (string)$plz;

//einzelne Zahl auf nummerisch prüfen
for ($i = 0; $i < strlen($numbers); $i++)
{
    if(!is_numeric($numbers[$i]))
   {
     ... mach was wenn keine Zahl ...
   }
}

so würden auch die Hochzahlen mit "e" (z.b. 1e3) rausfallen.
 

paddybee

Noch nicht viel geschrieben

AW: JS PLZ-Abfrage auf Ziffern beschränken

Danke an alle!
Werde mich da wohl noch intensiver damit beschäftigen müssen, aber das macht nichts! Klingt alles sehr interessant und jetzt habe ich Blut geleckt! ;)

Hoffe ich darf Euch auch weiter belästigen!

B.G.
Paddybee
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.640
Beiträge
1.538.508
Mitglieder
67.557
Neuestes Mitglied
azmostbethaot
Oben