Der er faktisk ikke mere kode. Undskylder at jeg ikke har uddybet fejlen. Fejlen består i, at den ikke vil godkende email adresser, så det må være /^[^\\.]?[\\w\\.-]+@[^\\.]?[\\w\\.-]+\\.[A-Z]{2,3}$/i som der er noget galt med, da jakobas /^[\da-z\._\-]{1,50}@[\da-z\._\-]{1,50}\.[\da-z]{2,3}$/ godt virker. Jakobas check godkender kun små bogstaver samt . som et gyldigt tegn, hvilket den første skrevet af jumper ikke gør. Håber der er nogen som kan se fejlen i den første så.
Indeholder dette felt - <input name="email" size="35" type="text" value="">
Har en onclick - onclick="return checkform();"
Har så funktionen function checkform() { var emailcheck = /^[^\\.]?[\\w\\.-]+@[^\\.]?[\\w\\.-]+\\.[A-Z]{2,3}$/i; if (! document.kontakt.email.value.match (emailcheck)) strError = 'bla bla fejl'; }
Synes godt om
Slettet bruger
08. oktober 2002 - 13:58#5
Prøv følgende: var emailcheck = new RegExp("/^[^\\.]?[\\w\\.-]+@[^\\.]?[\\w\\.-]+\\.[A-Z]{2,3}$/", "i"); if(!emailcheck.test(document.kontakt.email.value)) { }
Synes godt om
Slettet bruger
08. oktober 2002 - 14:00#6
Sagen er at du ikke opretter et regular expression objekt, så vidt jeg kan se! Men det kan jo også være du har et problem dit regular expression.
Jeg har taget expression objektet herfra http://www.eksperten.dk/spm/26016 men jeg kan bare ikke få den til at virke... Dit virker desværre heller ikke. Den vil ikke godkende nogen form for email adresse :(
Synes godt om
Slettet bruger
08. oktober 2002 - 14:54#8
Prøv med det her regexp så! ^[a-z0-9]+[a-z0-9\.\-\_]*@[a-z0-9]+(([\.\-][a-z0-9]+)?)*\.[a-z]{2,3}$\
Bravo, takker :) Jeg har ingen forstand på regular expression objekter, men nu virker det...næsten. Hvis du vil lave det så den sidste lige kommer med, får du 20 points og en meget taknemmelig bruger ;)
abc@abc.dk - valideres korrekt som email adresse. abc.abc@abc.dk - valideres korrekt som email adresse. abc_abc@abc.dk - valideres korrekt som email adresse.
abc@.abc.dk - valideres forkert som en invalid email adresse. abc@abc.dk. - valideres korrekt som en invalid email adresse. .abc@abc.dk - valideres korrekt som en invalid email adresse.
abc.@abc.dk - valideres korrekt som email adresse. Denne mangler jeg.
Jeg vil gerne have regular expression objektet til at validere omkring den del før @'et. Altså hvis der før @'et kun er et . som f.eks her i denne email adresse "abc.@abc.dk" skal det ikke være en valid email adresse. Håber du forstår nu ;)
Som der er nu bliver "abc.@abc.dk" valideret som en korrekt email adresse, hvilket ifølge min hukommelse er forkert.
Synes godt om
Slettet bruger
09. oktober 2002 - 03:53#14
Dvs sige at abc.@abc.dk og abc@.abc.dk skal valideres som forkerte bare for at vi er 100% enige!?
Synes godt om
Slettet bruger
09. oktober 2002 - 04:00#15
Hmmm... jeg fixer det lige engang i morgen! Har nemlig også lige bemærket en anden bug!
Jepper. abc@.abc.dk valideres forkert i den nuværende regexp variabel, hvilket jo er rigtigt, så den er med. Det er kun abc.@abc.dk som ikke bliver valideret forkert.
Puha forvirrende med alle de prikker... ;)
Synes godt om
Slettet bruger
09. oktober 2002 - 16:52#17
var emailcheck = new RegExp("/^[a-z0-9]+[a-z0-9\.\-\_]*@[a-z0-9]+(([\.\-][a-z0-9]+)?)*\.[a-z]{2,3}$\", "i"); var dobbeltdotcheck = new RegExp("/\.\./", "i");/*Hvis abc..abc@abc.dk eller abc@abc..abc.dk*/ var dotalignacheck = new RegExp("/\.@/","i"); /*Hvis .@ */ if(emailcheck.test(document.kontakt.email.value)==false || dotalignacheck.test(document.kontakt.email.value == true || dobbeltdotcheck.test(document.kontakt.email.value) == true) { }
Jeg har endnu ikke testet det, men det ser umiddelbart fint ud, og hvis det ikke skulle virke alligevel, har du ihvertfald givet mig en del at arbejde videre med, så takker mange gange for hjælpen ;)
1: Det er noget skodet kode fra da jeg noob til javascript.... 2: Find et andet eksempel... 3: Der er masser af eksempler.... men men men... <script language="javascript"> function emailcheck() var emailcheck = new RegExp("/^[a-z0-9]+[a-z0-9\.\-\_]*@[a-z0-9]+(([\.\-][a-z0-9]+)?)*\.[a-z]{2,3}$\", "i"); var dobbeltdotcheck = new RegExp("/\.\./", "i");/*Hvis abc..abc@abc.dk eller abc@abc..abc.dk*/ var dotalignacheck = new RegExp("/\.@/","i"); /*Hvis .@ */ if(emailcheck.test(document.kontakt.email.value)==false || dotalignacheck.test(document.kontakt.email.value == true || dobbeltdotcheck.test(document.kontakt.email.value) == true) { return true; } return false; } <script> <form name="kontakt" onsubmit="if(emailcheck()){return true;}else{alert('fejl');return false;}"> <input type="text" value="" name="email"> <input type="submit" value="TEST"> </form>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.