webForumDet fria alternativet

Felkontroll av epostadress

7 svar · 689 visningar · startad av Howling_W

Howling_WMedlem sedan juli 2004132 inlägg
#1

Hej,

har ett formulär som kontrollerar att namn och epost är ifyllt men inte att en giltig epost är ifylld. hur fixar man det?

[<script type="text/javascript"><!-- //script hider
function form_validator(form) {
if(form.namn.value == "") {
alert("Ditt namn saknas!");
form.namn.focus();
return(false);
}
if(form.email.value == "") {
alert("Din emailadress saknas!");
form.email.focus();
return(false);
}
return (true);
}
// end script hiding -->
</script>
]

The_HulkMedlem sedan juni 20031 837 inlägg
#2

Vad räknar du som en giltlig epostadress?

The_HulkMedlem sedan juni 20031 837 inlägg
#3
function fn_checkEpost(epost)
{
  var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;

  if (emailRegxp.test(epost) != true)
  {
    alert("Email address appears to be incorrect");
    return false;
  }

  alert("ok");

  return true;
}

eller

function fn_checkEpost(epost)
{
  if(/^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/.test(epost) != true)
  {
    alert("Email address appears to be incorrect");
    return false;
  }

  alert("ok");

  return true;
}

Sökte bara lite snabbt på google och hittade det jag utgick ifrån här http://www.devarticles.com/c/a/JavaScript/Form-Validation-with-JavaScript-Regular-Expressions-Part-2/

Howling_WMedlem sedan juli 2004132 inlägg
#4

OK, men var ska jag skriva in det i den befintliga koden?

zcorpanMedlem sedan dec. 20042 245 inlägg
#5

Den där regexpen är för snäv. Följande tex är en korrekt mailadress:

åöä@foo.bar.baz.com

Det är så svårt att skriva en regexp för alla möjliga korrekta mailadresser så det är lättare att helt enkelt tillåta /^.+@.+$/. Det kanske slinker igenom en del felaktiga mailadresser men det är värre att inte tillåta korrekta mailadresser...

Annars kanske du kan lösa det deklarativt med Web Forms 2.0 (draft):

<p><label>Namn: <input name="namn" required></label></p>
<p><label>Epost: <input name="email" required type="email"></label></p>

Än så länge funkar det bara i Opera 9 men Mozilla är i full gång att implementera det också. Finns skript för att få IE att vara med i leken också. :)

The_HulkMedlem sedan juni 20031 837 inlägg
#6

Bara att slänga in det efter din första kontroll av emailen även om du hade kunnat ta bort den nu.

<script type="text/javascript"><!-- //script hider

 function form_validator(form) {

  if(form.namn.value == "") {
   alert("Ditt namn saknas!");
   form.namn.focus();
   return(false);
  }

  if(form.email.value == "") {
   alert("Din emailadress saknas!");
   form.email.focus();
   return(false);
  }

  if(/^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/.test(form.email.value) != true)
  {
    alert("Email address appears to be incorrect");
    return false;
  }

  return (true);
 }
// end script hiding -->
</script>
Howling_WMedlem sedan juli 2004132 inlägg
#7

Ok, det ser ut att funka! tackar

@ndersMedlem sedan juni 200032 969 inlägg
#8

Snälla, använd funktionen "Acceptera som slutgiltigt svar" på rätt sätt, så hjälper du webForums sökfunktion och medlemmar att hitta till bra inlägg.

Läs om funktionen här.

mvh

126 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)