3 Fragen zu JavaScript
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
adresse
anfang
array
ausdruck
bibliothek
bindestrich
code
dank
element
email
ergebnis
frage
http
punkt
string
suche
test
testen
zeichen
zeichenkette
-
Hallo ihr Lieben ;)
Ich habe da ein paar Fragen speziell zu JavaScript. Ich kenn mich nicht so gut damit aus, aber vielleicht kann mir ja einer von euch weiterhelfen.
1. Wie kann man mit JavaScript den Wert eines in einem Formular befindlichen Radiobuttons auslesen? (bei Checkboxen gibt es ja .checked und bei den anderen Eingabefeldern .value, jedoch funktionieren beide nicht für Radiobutton)
2. Wie kann man mit JavaScript einen String mithilfe eines regulären Ausdrucks (RegEx) auf die Whitelist Zeichen Aa bis Zz, 0 bis 9, - und _ testen?
3. Wie kann man mit JavaScript einen String mithilfe eines regulären Ausdrucks daraufhin testen, ob er die Form einer Emailadresse hat?
Danke für's reinschaun. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ein Tipp für solche Fragen: http://de.selfhtml.org
Da steht fast alles zu dem Thema HTML und JS
zu 1: http://de.selfhtml.org/javascript/objekte/elements.htm#checked
zu 2:var Suche =/\W/; var Ergebnis = Suche.test(zeichenkette); if(Ergebnis == true) alert('Verbotenes Zeichen enthalten'); else alert('Zugelassen');
zu 3:
function check(email){ var Suche = /(.{2,})(@)(.[-\w.]*)(..{2,4}$)/; var Ergebnis = Suche.test(email); if(Ergebnis == true) alert('Das ist eine korrekte E-Mail Adresse'); else alert('Das ist keine E-Mail Adresse'); }
du kannst mit regulären ausdrücken z.B. prüfen ob ein @ zeichen enthalten ist, oder besser ob zusätzlich nach dem @ eine zeichenkette kommt, und dann ein punkt und dann wieder eine max 3 stellige Zeichenkette. Schau dir hier mal den Umgang mit Regulären Ausdrücken an: http://de.selfhtml.org/perl/sprache/regexpr.htm
Gruß, Prog
Leider werden im Code die Backslashes entfernt, weshalb du das Script nicht kopieren kannst. Vor das Große und das Kleine W muss ein Backslash
Beitrag geändert: 11.8.2008 12:42:31 von prog -
Hallo prog, danke für die gute Antwort!
Bei 1. weiß ich jetzt was mein Fehler war. Ich hatte nicht beachtet, daß das RadioButton Element ein Array ist und man es auch als Array ansprechen muß.
Wegen 2. hab ich mal auf der SelfHTML Seite nachgeschaut. Ich habe einen RegEx zusammengebastelt, der auf Zeichen testen soll, die weder 0-9, Aa-Zz, große und kleine Umlaute oder - oder _ sind. Ich bin mir aber nicht ganz sicher, ob er das auch wirklich tut. Hier ist er (kommt ohne Backslashes aus)
/[^0-9a-zA-ZäöüÄÖÜ_-]/
Die RegEx zu 3. hab ich jetzt auf die schnelle nicht wirklich verstanden, aber ich werd den code einfach mal testen.
Grüße
Beitrag geändert: 11.8.2008 13:54:49 von bibliothek
Beitrag geändert: 11.8.2008 13:55:37 von bibliothek -
Wegen 2. hab ich mal auf der SelfHTML Seite nachgeschaut. Ich habe einen RegEx zusammengebastelt, der auf Zeichen testen soll, die weder 0-9, Aa-Zz, große und kleine Umlaute oder - oder _ sind. Ich bin mir aber nicht ganz sicher, ob er das auch wirklich tut. Hier ist er (kommt ohne Backslashes aus)
/[^0-9a-zA-ZäöüÄÖÜ_-]/
Ja, das müsste er tuen. Das ist ja nur die ausgeschreibene Variante von W
@edit: Wichtig, der bindestrich am Ende sollte am anfang der Zeichenklasse stehen, sonst funzt es vielleicht nicht
/[^-0-9a-zA-ZäöüÄÖÜ_]/
Die RegEx zu 3. hab ich jetzt auf die schnelle nicht wirklich verstanden, aber ich werd den code einfach mal testen.
Der Code funktioniert, ich verwende ihn selber auch.
Beachte aber, dass du auch den Punkt maskieren musst, da er sonst als Platzhalter und nicht als Punkt gesehen wird.
Wenn du ihn noch verbessern willst, könntest du auch in allen Abschnitte nach dem @ das @ verbieten. Die () kannst du übrigens auch weglassen, die sind nur falls man den Namen aus der E-Mail adresse rauslesen will.
Gruß, Prog
@edit: Der Bindestrich(-) sollte am anfang der zeichenklasse nach dem ^ zeichen kommen, also /[^-0-9a-zA-ZäöüÄÖÜ_]/
Beitrag geändert: 12.8.2008 16:03:48 von prog -
Danke für den Hinweis mit dem Bindestrich, ich hab das geändert!
Zu Validierung der Emailadresse nutze ich folgenden RegEx..
/[-\w]+(?:\.[-\w]+)*@(?:[-\w]+\.)+[a-zA-Z]{2,4}$/
anschließend laß ich den String mit der EmailAddy auch noch durch
eine for schleife laufen, um ein mehrfaches vorkommen von @ zu
unterbinden (hab keine andere Lösung gefunden) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage