• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Email-Überprüfung

Guido

New member
Hallo zusammen!

Das Skript kommt von Jörg Krause, produziert leider die Fehler:
IE ->
Zeile: 5
Zeichen 58
Fehler: Nichtabgeschlossene Zeichenfolgenkonstante
NC ->
JavaScript Error:
file:/C|********.html, line 5:

unterminated string literal.

var re_email = '/^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*
...................^

Was ist an dem regulären Ausdruck denn falsch??? :(
Ich habe die Zeilennummern eingefügt.

1 <html>
2
3 <script language="JavaScript">
4 function checkdata(){
5 var re_email = '/^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*
6 @[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$/';
7 var email = document.sendform.email.value;
8 var checked = true;
9 if ((re_email.test(email))==false || email.lenght==0)
10 {
11 alert ("Bitte geben Sie eine gültige Adresse ein!");
12 }
13 if (checked) {
14 document.sendform.method = "post";
15 document.sendform.action = "mailit.php";
16 document.sendform.submit();
17 }
18 retutn checked;
19}
20 </script>

Ade
Guido
 
5 var re_email = '/^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*
6 @[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$/';

5 var re_email = '/^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$/';

so?
was ist das fett? war auch so?
 
Jo, das war auch so!

Hi Oleg!
Was das ist? Ähm... keine wirkliche Ahnung! Ich hab den Ausdruck erstmal nur übernommen und noch nicht weiter hinterfragt! Zumindest mir keine Gedanken über die Teile zwischen a-zA-Z0-9 u.ä. gemacht!
Aber so
5 var re_email = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$/;
stehts im Buch (s.203 1. Auflage 2000)!
Ich hatte wegen der NC-Meldung: unterminated string literal.
den Ausdruck in Hochkommata gestellt - gebracht hats nix!

Gibts in PHP nicht auch die Möglichkeit die Email-Adresse per eregi, o.ä., testen zu lassen? Dann brauch ich auch kein JavaScript mehr? Suche im Forum blieb leider erfolglos...

Ade
Guido
 
sodele

der reguläre Ausdruck ist so richtig:
/^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$/;
und wird durch das weglassen der '...' auch als solcher und nicht als string erkannt.
Allerdings kommt jetzt ein Fehler beim submitten in der Zeile:
document.sendform.submit();
WIESO??? :confused:

Ade
Guido
 
Zurück
Oben