[Javascript] formular abfrage (funktion)

pRoPh3t

Cadet 3rd Year
Registriert
Aug. 2004
Beiträge
33
hallo
ich programmiere gerade eine html hp, dies ist nicht meine erste daher stellt dies kein porblem da, jedoch ist es meine erste hp in der ich javascript verwenden möchte, und zwar nicht nur verwenden sondern selbst programmieren, bzw die eingefügten funktionen mindesten zu verstehen ;)
...hab gerade erst mit javascript angefangen, kann aber was tc weshalb mir der einstieg nicht allzuschwer gefallen ist! :)

so nun mein problem :jumpin:

ich habe in einem iframe ein formular erstellt, für die einzelnen felder habe ich eine javascript abfrage erstellt, die bestimmte pflichtfelder überprüft.
dies ist auch kein großes ding gewesen, jedoch an einer stelle hänge ich noch!

in eines dieser felder soll der user seine email eingeben, meine abfrage untersucht jetzt ob dieses feld auch ausgefüllt ist, dies will ich allerdings noch erweitern, und zwar soll die abfrage noch feststellen können ob sich in diesem zeichenstring auch ein " @" zeichen befindet, da es sich ja schließlich um eine email handel.

hier ist der quelltext, wäre nett wenn mal jemand drüber schauen könnte, bzw ihn so modifizieren könnte das da email feld auf ein vorhandenes @ zeichen überprüft wird.... ich weis zwar das ich die eingabe in einen string einlesen muss, und jedes zeichen einzeln vergleichen muss aber ich habe bis jetzt nich nichts funktionsfähiges auf die beine gestellt....



<html>
<head>
<title>
testformular
</title>
<script type="text/javascript">
<!--
function Check(vname, nname, mail)
{
if(vname=="" || nname=="")
alert("Bitte alle Felder die mit einem * gekennzeichnet sind ausfüllen");
if(mail!="@")
alert("ungültige eMail Adresse");
}
//-->
</script>
</head>
<body>
<div align="center"><h1>testformular</h1></div>
<form name="kontakt" action="mailto:da.fuker@web.de" method="post" enctype="text/plain">
<div align="center">
*Vorname<br><input name="vorname" type="text" size="50" maxlength="30"><br>
*Nachname<br><input name="nachname" type="text" size="50" maxlenght="30"><br>
Unternehmen<br><input name="unternehmen" type="text" size="50" maxlenght="30"><br>
Telefon<br><input name="telefon" type="text" size="50" maxlenght="30"><br>
eMail<br><input name="email" type="text" size="50" maxlenght="30"><br>
Anschrift des Unternehmens<br><textarea name="anschrift" type=text" cols="35" rows="4" wrap="physical">Bitte in Form von:
Straße, Nummer
PLZ, Ort
evntl. Land</textarea><br>
Bemerkungen<br><textarea name="bemerkungen" type=text" cols="35" rows="10" wrap="physical">Hier können Sie Ihr Anliegen eingeben, oder uns ganz einfach Anregungen und Ideen zukommen lassen.</textarea><br>
<br>
<button name="senden" onClick="Check(document.kontakt.vorname.value, document.kontakt.nachname.value, document.kontakt.email.value)">
<b>senden</b>
</button>
<button name="abbruch" type="reset">
<b>felder loeschen</b>
</button>
<br>
</div>
</form>
</body>
</html>




...ich danke schon jetzt alles programmierhungrigen leuten die mir an dieser stelle ein wenig unter die arme greifen.... ;)


mfg
pRoPh3t
 
Re: javascript formular abfrage (funktion) - brauche ein wenig!!! hilfe

mit anderen worten:
Code:
function Check(vname, nname, mail)
{
if(vname=="" || nname=="") 
alert("Bitte alle Felder die mit einem * gekennzeichnet sind ausfüllen");
var email = mail.indexof("@");
if(email==-1)
alert("ungültige eMail Adresse");
}
 
Re: javascript formular abfrage (funktion) - brauche ein wenig hilfe

hmm :jumpin:
das habe ich auch schon mal ausprobiert, aber leider funzt es nicht....
aber trotzdem danke

mfg
pRoPh3t
 
Re: javascript formular abfrage (funktion) - brauche ein wenig hilfe

muss es denn javascript sein, wie wäre es mit php???
 
Code:
 function emailCheck (emailStr) {
 
    var emailPat=/^(.+)@(.+)$/
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
    var validChars="\[^\\s" + specialChars + "\]"
    var quotedUser="(\"[^\"]*\")"
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
    var atom=validChars + '+'
    var word="(" + atom + "|" + quotedUser + ")"
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
 
    var matchArray=emailStr.match(emailPat)
 
 
 	  if (matchArray==null) {
 		  alert("Email address seems incorrect (check @ and .'s)")
 		  return false
 		  }


Zwar weit ausführlicher als nur das @ zu überprüfen, aber zeigt auch schön wie man mit Strings bzw RegExp Ausdrücken umgeht, und zumindest bei mir funktionert es :D
 
value schrieb:
Zwar weit ausführlicher als nur das @ zu überprüfen, aber zeigt auch schön wie man mit Strings bzw RegExp Ausdrücken umgeht, und zumindest bei mir funktionert es :D




ich find email-validierungen sehr störend, weil sie:
-Rechenleistung brauchen
-Bestimmte (auch korrekte) Eingaben verhindern
-Im Endeffekt doch nicht feststellen können, ob es diese e-Mail-Adresse gibt.
 
Zuletzt bearbeitet:
pcw schrieb:
ich find email-validierungen sehr störend, weil sie:
1. Rechenleistung brauchen
2. Bestimmte (auch korrekte) Eingaben verhindern
3. Im Endeffekt doch nicht feststellen können, ob es diese e-Mail-Adresse gibt.

1. Ich denke die Rechenleistung ist zu vernachlässigen. Entweder hat man eine kleine private Page wo jeder PIII 800 überdimensioniert ist, oder eine kommerzielle Seite wo sich die Investition lohnt. Und 1000 Formulare pro Minute abschicken kostet mit Sicherheit auch Traffic und Rechenleistung.

2. Nicht wenn das Script durchdacht konzipiert ist. Jede E-Mail Adresse hat einen User, ein @ und eine Domain mit 2-4 Stellen.

3. Das ist klar, aber auch wenn du wüsstest ob es die E-Mail Adresse gibt, heißt das nicht das der Inhalt auch automatisch sinnvoll ist ;)
 
value schrieb:
1. Ich denke die Rechenleistung ist zu vernachlässigen. Entweder hat man eine kleine private Page wo jeder PIII 800 überdimensioniert ist, oder eine kommerzielle Seite wo sich die Investition lohnt. Und 1000 Formulare pro Minute abschicken kostet mit Sicherheit auch Traffic und Rechenleistung.

2. Nicht wenn das Script durchdacht konzipiert ist. Jede E-Mail Adresse hat einen User, ein @ und eine Domain mit 2-4 Stellen.

3. Das ist klar, aber auch wenn du wüsstest ob es die E-Mail Adresse gibt, heißt das nicht das der Inhalt auch automatisch sinnvoll ist ;)

^^zu 1. stimmt, aber man soll halt da optimieren, wo es sinnvoll ist ;)
zu 2. Ich hab mal für ne HP mit eigenem Webserver programmiert, wo man die "lokalen" Accounts auch mit "pcw" statt "pcw@serveradresse" ansprechen konnte. Da war jede solche überprüfung sinnlos. Gleiches Gilt für LANs, wo kein Punkt in der eMail vorkommen muss.
Bzw. Was amchst du ,wenn Domains mit 5 Buchstaben zugelassen werden?

zu 3. Öhm, es soll ja auch die Adresse und ned der Inhalt eventueller Mails überprüft werden. Die einzig sinvolle Überprüfung ist und bleibt von daher, etwas an diese Adresse zu senden.
 
pcw schrieb:
^^zu 1. stimmt, aber man soll halt da optimieren, wo es sinnvoll ist ;)
zu 2. Ich hab mal für ne HP mit eigenem Webserver programmiert, wo man die "lokalen" Accounts auch mit "pcw" statt "pcw@serveradresse" ansprechen konnte. Da war jede solche überprüfung sinnlos. Gleiches Gilt für LANs, wo kein Punkt in der eMail vorkommen muss.

2a.Bzw. Was amchst du ,wenn Domains mit 5 Buchstaben zugelassen werden?

zu 3. Öhm, es soll ja auch die Adresse und ned der Inhalt eventueller Mails überprüft werden. Die einzig sinvolle Überprüfung ist und bleibt von daher, etwas an diese Adresse zu senden.
1. Klar ist Rechenleistung ein Thema, und auch wenn sich eine Firma es leisten kann mal eben 1000€ mehr für den Server zu bezahlen, sollte es eigentlich nicht nötig sein.

2. Brauchst du für die lokalen Accounts und den Server dann überhaupt eine Adressvalidierung, oder im Firmenintranet? Wenn die lokalen Accounts bekannt sind, kann man ja auch das Script anpassen.

2a. Ich änder eine 4 auf eine 5 :p

3. Klar, aber das wäre für den User eigentlich unzumutbar. Eine 100% Versicherung gibt es nie. Aber es ist zumindest mal ein Spamschutz, und es ist besser als gar nichts :)
 
value schrieb:
2a. Ich änder eine 4 auf eine 5 :p

^^und was amchen die anderen leute, die das Script benutzen und keine Ahnung davon haben?

Bei denen haste damit evtl mehr schaden als Nutzen angerichtet.
 
pcw schrieb:
^^und was amchen die anderen leute, die das Script benutzen und keine Ahnung davon haben?

Bei denen haste damit evtl mehr schaden als Nutzen angerichtet.
Wir sind im Inet, jeder ist für sich selbst verantwortlich :p

Außerdem gehe ich auch nicht nach Anzahl der Buchstaben, sondern nach den Endungen selbst ^^
 
danke für eure bemühungen, leider habe ich heute keine zeit mehr es bei mir einzudinden und es zu testen, werde es am we aber mal machen...

dann habe ich noch ne frage an value

wofür sind die ganzen variabeln?

var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'

für ne kurze erläuterung oder auch ne "ausführliche" wenn du zeit hast :p
wäre ich dir SEHR dankbar :D

bis dann....

mfg
pRoPh3t
 
Zurück
Oben