/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Validering af e-mail - mangler et punktum
Fra : Anders Boll


Dato : 11-05-05 22:26

For at validere et email-felt bruger jeg nedenstående script, og
det fungere ganske tilfredsstillende
bortset fra, at jeg mangler en validering for " . " - at der skal
være et eller flere for at e-mail adressen er korrekt.
Og så en alertboks: Du skal huske at skrive et punktum...

Kan nogen hjælpe?

Bedste hilner
Anders Boll


<!--//
function validate(form1) {

placering=0;
tekst=(form1.Email.value).toLowerCase();
placering=tekst.indexOf("@");
if(tekst ==""){
alert ("Du skal skrive din korrekte e-mail adresse, for at vi
kan modtage din bestilling.");
form1.Email.focus();
return false;
}
else{
tegn=tekst.indexOf(" ");
if(tegn!=-1){
alert ("Der må ikke være mellemrum i din e-mail adresse.");
form1.Email.focus();
return false;
}
else{
if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 ||
tekst.indexOf("å")!=-1 ||
tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 ||
tekst.indexOf("Å")!=-1 ||
tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1 ||
tekst.indexOf(":")!=-1){
alert ("Der er ulovlige tegn i din e-mail adresse. Må bl.a ikke
indeholde: æ ø å Æ Ø Å ; : , ...osv.");
form1.Email.focus();
return false;
}
else{
if (placering<1 || tekst.length<=(placering+1)){
alert ("Din e-mail adresse er forkert - forsøg igen!");
form1.Email.focus();
return false;
}

//-->
</script>


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Lasse Reichstein Nie~ (11-05-2005)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 11-05-05 23:26

Anders Boll <infonospam@katgrafik.dk> writes:

> For at validere et email-felt bruger jeg nedenstående script, og
> det fungere ganske tilfredsstillende
> bortset fra, at jeg mangler en validering for " . " - at der skal
> være et eller flere for at e-mail adressen er korrekt.
> Og så en alertboks: Du skal huske at skrive et punktum...
>
> Kan nogen hjælpe?

Det er en simpel streng-test, så det er nok nemmest at bruge
et regulært udtryk (eller flere hvis man vil have mere detaljerede
fejlrapporter):

function validate(form1) {
var elem = form.elements['Email'];
var tekst = elem.value;
if (!/^[^æøå@ ]+@[^@æøå ]+\.[^@æøå ]+$/i.test(tekst)) {
alert('E-mail-adressen er ikke gyldig. Den skal indehold'+
' netop et "@" og mindst et "." efter "@"'et, og må'
' ikke indeholde "æ", "ø", "å" eller mellemrum.');
elem.focus();
return false;
}
}

eller

function validate(form1) {
var elem = form.elements['Email'];
var tekst = elem.value;
if (/ /.test(tekst)) {
alert("E-mail-adressen må ikke indeholde mellemrum");
} else if (/[æøå]/i.test(tekst)) {
alert('E-mail-adressen må ikke indeholde "æ", "ø", eller "å"');
} else if (/@.*@/i.test(tekst)) {
alert('E-mail-adressen må kun indeholde ét "@"');
} else if (/^.+@.+\..+$/.test(tekst)) {
return true;
}
elem.focus();
return false;
}



Lidt stil-kommentarer til din kode:

> <!--//

HTML-kommentarer er ikke nødvendigt i script-elementer mere (i
browsere lavet siden ca. 1997)

> function validate(form1) {
>
> placering=0;

Husk at erklære dine variable som lokale. Ellers vil ovenstående
oprette "placering" som en global variabel, som så kan ligge
og spilde plads i det globale objekt. Skriv "var" foran variabelnavnet
her for at erklære variablen som lokal:

var placering = 0;


> tekst=(form1.Email.value).toLowerCase();

Ditto.

> placering=tekst.indexOf("@");
> if(tekst ==""){
> alert ("Du skal skrive din korrekte e-mail adresse, for at vi
> kan modtage din bestilling.");

"e-mail-adresse" er i et ord, med bindestreger :)


> alert ("Der er ulovlige tegn i din e-mail adresse. Må bl.a ikke
> indeholde: æ ø å Æ Ø Å ; : , ...osv.");

Det er for øvrigt forkert at der ikke må være danske bogstaver i
e-mail-adresser. Fx kunne man jo have sin e-mail-konto på domænet
"rødgrød.nu" :)


Held og lykke.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177495
Tips : 31968
Nyheder : 719565
Indlæg : 6408489
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste