04. april 2003 - 16:59
Der er
16 kommentarer og 1 løsning
Validering af e-mail
Hvordan får jeg dette valideringsscript til at validere en e-mail med to punktummer efter snabela (fx navn@hej.der.dk)? <Script language="JavaScript"> function valider() { var objMail = document.all["mail"].value; //----------------------------------------- snabela = objMail.indexOf("@"); brugernavn = objMail.substring(0,snabela); //----------------------------------------------------------------- dot = objMail.indexOf("."); snabela += 1 domain = objMail.substring(snabela,dot); //----------------------------------------------------------------- dot += 1 slut = objMail.length land = objMail.substring(dot,slut); //----------------------------------------------------------------- if(brugernavn.length>0 && domain.length>0 && land.length>0 && land.length<=3) { return true; } else { window.alert("E-mailadressen er ugyldig!"); return false; } } </Script>
Annonceindlæg fra Kingston Technology
04. april 2003 - 17:02
#1
Jeg ved ikke hvordan man gør i en email, men du kan give det videre via ICQ eller sådan noget.
04. april 2003 - 17:03
#2
Ups. Jeg tror jeg misforstod spørgsmålet....
04. april 2003 - 17:03
#3
Jeg har en formular, som skal validere e-mailfeltet. Der skal være to punktummer efter snabela'et.
Slettet bruger
04. april 2003 - 17:07
#4
Sådan her: <html> <head> <script> function valider(frm) { if (!frm.mail.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,3}$/i)) { alert("Fejl!"); return false; } return true; } </script> </head> <body> <form onSubmit="return valider(this);"> <input type="text" name="mail"><br> <input type="submit" value="Send"> </form> </body> </html>
04. april 2003 - 17:21
#5
Hmm, den vil ikke godtage denne linie: function valider(frm) {
04. april 2003 - 17:26
#6
Sådan ser den fejlagtige form og script ud: I HEAD: <script> function valider(frm) { if (!frm.mail.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,3}$/i)) { alert("Fejl! E-mailadressen er ugyldig."); return false; } return true; } </script> I BODY: <FORM onSubmit="return valider(this);"> <font color="#000000">E-mail:<BR> </font> <INPUT TYPE="text" ID="mail" NAME="E-mail" size="40"><BR><BR> <font color="#000000">For- og efternavn:<BR> <INPUT TYPE="text" NAME="Navn" size="40"><BR><BR> <font color="#000000">Stilling:<BR> </font> <INPUT TYPE="text" NAME="Stilling" size="40"><BR><BR> <font color="#000000">Virksomhed/organisation:<BR> <INPUT TYPE="text" NAME="Organisation" size="40"><BR><BR> <font color="#000000">Evt. spørgsmål eller kommentar:<BR> <TEXTAREA NAME="Spørgsmål eller kommentar" rows="3" cols="31"></TEXTAREA><BR> </font> <INPUT TYPE="submit" VALUE="Tilmeld"><font color="#000000"> <input type="reset" name="reset" value="Slet felter"></font> </FORM>
07. april 2003 - 11:23
#7
<ole> I din funktion skal du referere til input-elementets name-attribut ... ikke dens id. Nu forsøger du at referere til 'frm.mail' - det er forkert. Desuden skal du nok rette {2,3} til {2,4} - så også 'bla@bla.info' også validerer korrekt ;o) /mvh </bole>
07. april 2003 - 11:52
#8
Der er en funktion i javascript, der hedder split. Den splitter en string til at være et array Eks. s = Split("email@eu.hj.dk", ".") vil returnere s(0) = "email@eu" s(1) = "hj" s(2) = dk Du kan så feks først splitte på "@" så har du teksten efter @ og kan tjekke for flere punktumer.
07. april 2003 - 12:08
#9
lone_a_p >> Men skal du lave en validering med split(), der bare kommer i nærheden af det script, der er vist højere oppe, skal du ud i en meget stor kode :) /mvh
07. april 2003 - 13:38
#10
Jeg forstår ikke helt jeres kildekodesprog. I øjeblikket har jeg denne form. Hvordan får jeg den til at validere og godtage et punktum før @ og to punktummer efter @? Det er f.eks. e-mailadressen: fornavn.efternavn@bla.bla.dk I HEAD: <Script language="JavaScript"> function valider() { var objMail = document.all["mail"].value; //----------------------------------------- snabela = objMail.indexOf("@"); brugernavn = objMail.substring(0,snabela); //----------------------------------------------------------------- dot = objMail.indexOf("."); snabela += 1 domain = objMail.substring(snabela,dot); //----------------------------------------------------------------- dot += 1 slut = objMail.length land = objMail.substring(dot,slut); //----------------------------------------------------------------- if(brugernavn.length>0 && domain.length>0 && land.length>0 && land.length<=3) { return true; } else { window.alert("E-mailadressen er ugyldig!"); return false; } } </Script> I BODY: <FORM ACTION="en-form-jeg-har-fra-freebieweb.dk" METHOD="post" onSubmit="if(!valider())return false;"> <font color="#000000">E-mail:<BR> </font> <INPUT TYPE="text" ID="mail" NAME="E-mail" size="40"><BR><BR> <font color="#000000">For- og efternavn:<BR> <INPUT TYPE="text" NAME="Navn" size="40"><BR><BR> <font color="#000000">Stilling:<BR> </font> <INPUT TYPE="text" NAME="Stilling" size="40"><BR><BR> <font color="#000000">Virksomhed/organisation:<BR> <INPUT TYPE="text" NAME="Organisation" size="40"><BR><BR> <font color="#000000">Evt. spørgsmål eller kommentar:<BR> <TEXTAREA NAME="Spørgsmål eller kommentar" rows="3" cols="31"></TEXTAREA><BR> </font> <INPUT TYPE="submit" VALUE="Tilmeld"><font color="#000000"> <input type="reset" name="reset" value="Slet felter"></font> </FORM>
07. april 2003 - 13:52
#11
Brug den anden ... den er langt bedre: <script type="text/JavaScript"> function valider(frm) { if (!frm.e_mail.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,3}$/i)) { alert("Fejl!"); return false; } return true; } </script> <form onsubmit="return valider(this)"> <input type="text" name="e_mail"> <button type="submit">Send</button> </form> Læg mærke til, jeg har ændret dit 'name' på e-mail-feltet ... bindestreger er en rigtig dårlig idé til names. /mvh
07. april 2003 - 13:53
#12
Oooops .... så ret lige 3-tallet til et 4-tal: if (!frm.e_mail.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,3}$/i)) {
07. april 2003 - 13:53
#13
*LooooL* - sådan: if (!frm.e_mail.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,4}$/i)) {
07. april 2003 - 14:50
#14
Tak for det. Jeg lukker. Hvor mange punktummer accepterer scriptet nu - før og efter snabela?
07. april 2003 - 14:51
#15
a.b.c.j@bla.bla.bla.dk
07. april 2003 - 14:52
#16
olebole, jeg kan ikke give dig points, før du angiver et "svar" i stedet for en "kommentar".
07. april 2003 - 17:25
#17
:)
Vi tilbyder markedets bedste kurser inden for webudvikling