29. juli 2007 - 16:33Der er
14 kommentarer og 1 løsning
Valider e-mail adresse
Jeg har følgende script som tjekker om alle felter er udfyldt. Nu vil jeg gerne have scriptet udbygget til at validere om e-mail adressen er korrekt. Nogle der kan hjælpe med dette:
<script type="text/javascript"><!--
function validate(thisForm) { with (thisForm) { var alertMessage = "Fejl:\n"; if (navn.value == "") alertMessage += "\nDer er ikke angivet noget navn!"; if (email.value == "") alertMessage += "\nDer er ikke angivet nogen e-mail adresse!"; if (strCAPTCHA.value == "") alertMessage += "\nDer er ikke angivet nogen kode!"; if (besked.value == "") alertMessage += "\nDer er ikke angivet nogen besked!"; if (alertMessage != "Fejl:\n") {alert(alertMessage); return false; } else return true; } }
if (email.indexOf("@")==0||email.lastIndexOf(".")==0||email.indexOf("@")==-1||email.lastIndexOf(".")==-1||email.lastIndexOf(".")<email.indexOf("@")||email.lastIndexOf(".")-email.indexOf("@"))
der skal kun indtastes id på det input felt hvor email indtastes i document.getElementById('emailinputfeltid'); så skal du bare gemme disse 2 functioner
function ValidateEmail() { var emailID= document.getElementById('emailinputfeltid');
if ((emailID.value==null)||(emailID.value=="")){ alert('Ugyldig email'); } if (echeck(emailID.value)==false){ alert('Ugyldig email'); } }
og denne
function echeck(str) {
var at="@"; var dot="."; var lat=str.indexOf(at); var lstr=str.length; var ldot=str.indexOf(dot); if (str.indexOf(at)==-1){ alert('Ugyldig email'); return false; }
En ny linje til din egen funktion (i spørgsmålet): if (!email.value.match(/^.*@\w[\w\.-]*\.[a-z]{2,6}$/)) alertMessage += "\nE-mail-adressen er ikke valid!";
Hmmm, tak for de gode forslag. Dog kan jeg rigtig godt li' oleboles forslag da den er så dejlig simpel på en enkelt linie. Dog fatter jeg ikke helt at den ikke virker. Jeg kan stadig bare skrive fx: a, og stadig behandler den formen? Kan ikke lige selv se hvad der skulle være galt med den.
Ja, hvilket ikke ligefrem er logisk, da der jo ikke er tale om en streng ;o)
På den anden side kan du i JS bruge RegExp på flere måder. Instantierer du RegExp-objektet med new RegExp(), skal du også bruge gåseøjne. Det står der en masse om bag det link, jeg skrev =)
Takker for points ;o)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.