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 Vad räknar du som en giltlig epostadress?
The_HulkMedlem sedan juni 20031 837 inlägg 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/
OK, men var ska jag skriva in det i den befintliga koden?
zcorpanMedlem sedan dec. 20042 245 inlägg 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 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>
Ok, det ser ut att funka! tackar
@ndersMedlem sedan juni 200032 969 inlägg 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