Archivlink: javarea.de Forum > JavaScript > Adressformular prüfen
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Adressformular prüfen
Pages: [1]
| geschrieben von blueeyedgirl am 28.06.2007 - 13:30 |
Hallo,
ich brauche mal Hilfe bei einem Adressformular, dieses Formular soll die Angaben prüfen, klappt auch alles aber beim Vornamen, Nachnamen, Strasse, Ort und Bank würde ich gerne zusätzlich folgende Bedingungen definieren:
Zulässig sind kleine und große Buchstaben sowie Bindestriche und Leerzeichen, also keine Ziffern und Sonderzeichen.
Bei der Telefonnummer sollen nur Ziffern zulässig sein.
Bei der E-mail Adresse soll genau ein @ zeichen pflicht sein. Kleine und große buchstaben, ziffern, bindestriche unterstriche und punkt sollen vor und nach dem @ möglich sein.
Ne Erklärung und Kommentar wären super weil ich ja auch verstehen will was ich da mache.
Vielen Dank für Eure Hilfe
Anja 
Hier nochmal das ganze Formular:
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
| <html>
<head>
<title>Shop</title>
<meta http-equiv="content-type" content="text/html;CHARSET=iso8859-2">
<meta http-equiv="expires" content="0">
<script language="JavaScript"><!--
function pruefung (bestellung) {
var Vorn = document.bestellung.Vorname.value;
var Name = document.bestellung.Name.value;
var Str = document.bestellung.Strasse.value;
var Haus = document.bestellung.Hausnummer.value;
var Zus = document.bestellung.Adresszusatz.value;
var PLZ = document.bestellung.Postleitzahl.value;
var Ort = document.bestellung.Ort.value;
var Mail = document.bestellung.Email.value;
var Tel = document.bestellung.Telefon.value;
var Inha = document.bestellung.Inhaber.value;
var KtNr = document.bestellung.KtNr.value;
var Bank = document.bestellung.Bank.value;
var BLZ = document.bestellung.BLZ.value;
regVorn = /[a-z || A-Z]/;
if (!regVorn.test(Vorn) || Vorn.length < 2)
{ alert ('Bitte geben Sie den Vornamen an.');
return false;
}
if (Name.length < 2)
{ alert ('Bitte geben Sie den Namen an.');
return false;
}
if (Str.length < 2)
{ alert ('Bitte geben Sie die Strasse an.');
return false;
}
regHaus = /[0-9][0-9][0-9]/;
if (!regHaus.test(Haus) || Haus.length > 3)
{ alert ('Die Hausnummer ist nicht korrekt.');
return false;
}
regPLZ = /[0-9][0-9][0-9][0-9][0-9]/;
if (!regPLZ.test(PLZ) || PLZ.length != 5)
{ alert ('Die Postleitzahl ist nicht korrekt.\n\nDeutsche Postleitazhlen besitzen 5 Ziffern.');
return false;
}
if (Ort.length < 3)
{ alert ('Bitte geben Sie den Ort an.');
return false;
}
if (Mail.length < 7)
{ alert ('Bitte geben Sie die E-Mail Adresse an.');
return false;
}
if (Tel.length < 3)
{ alert ('Bitte geben Sie den Telefonnummer an.');
return false;
}
if (Inha.length < 2)
{ alert ('Bitte geben Sie den Kontoinhaber an.');
return false;
}
regKtNr = /[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/;
if (!regKtNr.test(KtNr) || KtNr.length != 10)
{ alert ('Die Kontonummer ist nicht korrekt.\n\nDeutsche Kontonummer besitzen 10 Ziffern,\nfehlende Ziffern werden links mit Nullen aufgefüllt.');
return false;
}
if (Bank.length < 2)
{ alert ('Bitte geben Sie das Bankinstitut an.');
return false;
}
regBLZ = /[1-8][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/;
if (!regBLZ.test(BLZ) || BLZ.length != 8)
{ alert ('Die Bankleitzahl ist nicht korrekt.');
return false;
}
return true;
}
// -->
</script>
</head>
<body>
<form name="bestellung" method="post" onSubmit="return (pruefung(0))">
<table align="center" border="0">
<tr>
<td>Anrede:</td>
<td><select name="anrede" size="1">
<option value="Herr">Herr</option>
<option value="Frau">Frau</option>
</select></td>
</tr>
<tr>
<td>Vorname:</td>
<td><input name="Vorname" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Name:</td>
<td><input name="Name" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Strasse:</td>
<td><input name="Strasse" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Hausnummer:</td>
<td><input name="Hausnummer" type="text" size="40" maxlength="3"></td>
</tr>
<tr>
<td>Adresszusatz:</td>
<td><input name="Adresszusatz" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Postleitzahl:</td>
<td><input name="Postleitzahl" type="text" size="40" maxlength="5"></td>
</tr>
<tr>
<td>Ort:</td>
<td><input name="Ort" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Email Adresse:</td>
<td><input name="Email" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Telefon:</td>
<td><input name="Telefon" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Kontoinhaber:</td>
<td><input name="Inhaber" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Kontonummer:</td>
<td><input name="KtNr" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Bank:</td>
<td><input name="Bank" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Bankleitzahl:</td>
<td><input name="BLZ" type="text" size="40" maxlength="8"></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Absenden"></td>
</tr>
</table>
</form>
</body>
</html> |
|
| geschrieben von René am 28.06.2007 - 15:33 |
| Poste bitte mal das dazu gehörige Formular, dann muss ich das nicht erst nachbauen. |
| geschrieben von blueeyedgirl am 28.06.2007 - 15:57 |
Hab oben nochmal das ganze formular einkopiert.
Danke für eure Hilfe 
Anja |
| geschrieben von René am 28.06.2007 - 16:41 |
Teste das mal so wie es ist und gib bescheit wo was anders geprüft werden soll.
Bei der Hausnummer wird geprüft ob min. eine Zahl eingetragen ist. Und optional ein Buchstabe, also 12a oder 555g.
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function pruefung()
{
with (document.forms['bestellung'])
{
var v_Vorn = elements['Vorname'].value;
var v_Name = elements['Name'].value;
var v_Str = elements['Strasse'].value;
var v_Haus = elements['Hausnummer'].value;
var v_Zus = elements['Adresszusatz'].value;
var v_PLZ = elements['Postleitzahl'].value;
var v_Ort = elements['Ort'].value;
var v_Mail = elements['Email'].value;
var v_Tel = elements['Telefon'].value;
var v_Inha = elements['Inhaber'].value;
var v_KtNr = elements['KtNr'].value;
var v_Bank = elements['Bank'].value;
var v_BLZ = elements['BLZ'].value;
}
var regName = new RegExp('^[a-z]{2,}$', 'i');
var regHaus = new RegExp('^\\d{1,}[a-z]?$', 'i');
var regPLZ = new RegExp('^\\d{5}$', '');
var regMail = new RegExp('^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@([a-z0-9-]+\\.)+([a-z]{2,4})$', 'i');
var regTel = new RegExp('^\\d{3,}$', '');
var regKtNr = new RegExp('^\\d{10}$', '');
var regBLZ = new RegExp('^[1-8]\\d{7}$', '');
if (!regName.test(v_Vorn))
{
alert('Bitte geben Sie den Vornamen an.');
return false;
}
if (!regName.test(v_Name))
{
alert('Bitte geben Sie den Namen an.');
return false;
}
if (v_Str.length < 2)
{
alert('Bitte geben Sie die Strasse an.');
return false;
}
if (!regHaus.test(v_Haus))
{
alert('Die Hausnummer ist nicht korrekt.');
return false;
}
if (!regPLZ.test(v_PLZ))
{
alert('Die Postleitzahl ist nicht korrekt.\n\n'
+ 'Deutsche Postleitazhlen besitzen 5 Ziffern.');
return false;
}
if (v_Ort.length < 2)
{
alert('Bitte geben Sie den Ort an.');
return false;
}
if (!regMail.test(v_Mail))
{
alert('Bitte geben Sie die E-Mail Adresse an.');
return false;
}
if (!regTel.test(v_Tel))
{
alert('Bitte geben Sie den Telefonnummer an.');
return false;
}
if (v_Inha.length < 2)
{
alert('Bitte geben Sie den Kontoinhaber an.');
return false;
}
if (!regKtNr.test(v_KtNr))
{
alert('Die Kontonummer ist nicht korrekt.\n\n'
+ 'Deutsche Kontonummer besitzen 10 Ziffern,\n'
+ 'fehlende Ziffern werden links mit Nullen aufgefüllt.');
return false;
}
if (v_Bank.length < 2)
{
alert('Bitte geben Sie das Bankinstitut an.');
return false;
}
if (!regBLZ.test(v_BLZ))
{
alert('Die Bankleitzahl ist nicht korrekt.');
return false;
}
return true;
}
//-->
</script>
</head>
<body>
<form name="bestellung" action="" method="post" onsubmit="return pruefung();">
<table border="0" cellspacing="1" cellpadding="4" style="margin: 0px auto;">
<tr>
<td>Anrede:</td>
<td><select name="anrede" size="1">
<option value="Herr">Herr</option>
<option value="Frau">Frau</option>
</select></td>
</tr>
<tr>
<td>Vorname:</td>
<td><input name="Vorname" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Name:</td>
<td><input name="Name" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Strasse:</td>
<td><input name="Strasse" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Hausnummer:</td>
<td><input name="Hausnummer" type="text" size="40" maxlength="3"></td>
</tr>
<tr>
<td>Adresszusatz:</td>
<td><input name="Adresszusatz" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Postleitzahl:</td>
<td><input name="Postleitzahl" type="text" size="40" maxlength="5"></td>
</tr>
<tr>
<td>Ort:</td>
<td><input name="Ort" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Email Adresse:</td>
<td><input name="Email" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Telefon:</td>
<td><input name="Telefon" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Kontoinhaber:</td>
<td><input name="Inhaber" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Kontonummer:</td>
<td><input name="KtNr" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Bank:</td>
<td><input name="Bank" type="text" size="40" maxlength="40"></td>
</tr>
<tr>
<td>Bankleitzahl:</td>
<td><input name="BLZ" type="text" size="40" maxlength="8"></td>
</tr>
<tr>
<td colspan="2" style="text-align: center;"><input type="submit" value="absenden">
<input type="reset" value="zurücksetzen"></td>
</tr>
</table>
</form>
</body>
</html> |
|
| geschrieben von blueeyedgirl am 28.06.2007 - 17:29 |
Vielen Dank für deine Hilfe,
funktioniert super!
Kannst du mir zu den erstellten Regeln noch ein paar Kommentare dazuschreiben, damit ich beim nächsten Mal auch weiß wie ich das ohne Hilfe anwenden kann.
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
| var regName = new RegExp('^[a-z-]{2,}$', 'i');
var regHaus = new RegExp('^\\d{1,}[a-z]?$', 'i');
var regPLZ = new RegExp('^\\d{5}$', '');
var regMail = new RegExp('^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@([a-z0-9-]+\\.)+([a-z]{2,4})$', 'i');
var regTel = new RegExp('^\\d{3,}$', '');
var regKtNr = new RegExp('^\\d{10}$', '');
var regBLZ = new RegExp('^[1-8]\\d{7}$', ''); |
wie bekomme ich noch ein Leerzeichen in den Namen (z.B. bei Doppelnamen)?
Wie bekomme ich nach dem Absenden des Formulars eine alert Box sowas wie "Vielen Dank für Ihre Bestellung" oder so?
Vielen Dank
Anja  |
| geschrieben von René am 28.06.2007 - 17:58 |
| Zitat | | | wie bekomme ich noch ein Leerzeichen in den Namen (z.B. bei Doppelnamen)? |
| HTML-Quelltext | 1:
| var regName = new RegExp('^[a-z -]{2,}$', 'i'); |
----
| HTML-Quelltext | 1:
| var regHaus = new RegExp('^\\d{1,}[a-z]?$', 'i'); |
\\d ist eine Zahl
{1,} muss min. eine sein bis unendlich
[a-z]? ein Buchstabe oder auch nicht
das 'i' sagt Groß-, Kleinschreibung ist egal sonst hätte man [a-zA-Z]? schreiben mussen.
----
http://de.selfhtml.org/javascript/o....regexp.htm --> Syntax regulärer Ausdrücke
----
| Zitat | | | Wie bekomme ich nach dem Absenden des Formulars eine alert Box sowas wie "Vielen Dank für Ihre Bestellung" oder so? |
Wohin sendest du dort muss dann die Meldung kommen. |
| geschrieben von blueeyedgirl am 29.06.2007 - 18:38 |
Hallo René,
das Formular soll nicht gesendet werden (ist erstmal nur ne testseite) ich brauche eine alert box auf der die ganzen bestelldaten nochmal ausgegeben werden, sowas wie Vielen Dank für Ihre Bestellung "Anrede" "Nachname". Die Ware wird an folgende Adresse verschickt: "Strasse" usw.
Das mit den variablen bekomme ich schon hin aber wie ist der befehl das die alerbox ausgegeben wird? 
Vielen Dank
Anja |
| geschrieben von René am 29.06.2007 - 20:05 |
| alert('text text text'); |
|