Avatar billede f_rollo Nybegynder
06. juli 2004 - 17:45 Der er 5 kommentarer og
1 løsning

Skal bruge et ordenligt email validerings-script

Her en formular hvor brugerne skal oplyse nogle småting som navn, adr og postnummer.

Hvis de vil så også email. Dette skal dog ikke være tvunget

Nogen der ligger inde med et script/kan lave et, der sikre at emailadressen er korrekt?

Skal kunne tjekke for @ .landekode og at der kun er brugt gyldige tegn (a-z + A-Z + 1-9)

men altså tage forbehold for at der måske intet står i feltet.

(det må også laves i asp hvis det er at foretrække...)

/Rollo
Avatar billede roenving Novice
06. juli 2004 - 17:52 #1
function checkEmail(mail){
    var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
    var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2,}$","i");
    if(mail=="")return true;
    if (!regexp.test(mail)||/(\.\.|\.@|@@|@\.)/g.test(mail)){
      alert("Ikke korrekt mail-adresse-format");
      return false;
    }
}
Avatar billede f_rollo Nybegynder
06. juli 2004 - 18:24 #2
Tak.

Det med @ og .XX virker, men æøå i adressen fanger den ikke.

Jeg har sat det op således:

<form name="emailform" method="post" action="mail/abonnement.asp" validate="onchange" invalidcolor="#E0DFE3" onSubmit="return checkEmail(emailform.email.value);">

[validate="onchange" invalidcolor="#E0DFE3" bruger jeg til at tjekke andre felter...]

og scriptet, som står efter </form> ser således ud:

<SCRIPT LANGUAGE="JavaScript">
function checkEmail(email){
    var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
    var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2,}$","i");
    if(email=="")return true;
    if (!regexp.test(email)||/(\.\.|\.@|@@|@\.)/g.test(email)){
      alert("Emailadressen er ikke intastet korrekt. Hvis du ikke ønsker at opgive din emailadresse skal du efterlade feltet tomt");
      return false;
    }
}
</SCRIPT>

Burde det stå i HEAD istedet, eller er det ligegyldigt?

(ps. Hvis du ændre i scriptet, kan du så ikke gøre det i det jeg allerede har ændret i...)
Avatar billede roenving Novice
06. juli 2004 - 18:41 #3
Med de nye regler for urler må der også gerne være æøå og alle de andre bogstav-tegn, jeg har placeret i t-variablen ...

-- den er måske en anelse for meget fremsynet, da top-domænerne ikke endnu er defineret med den slags tegn, og det med de fleste bogstaver har 6 tegn ...

Hvis du ikke vil tillade æøåäë osv. osv. skal du udskifte alle forekomster af "+t+" med \\w !-)

<script type="text/javascript">
function checkEmail(email){
    var regexp = new RegExp("^[\\w][\\w\\.\\-]*@[\\w][\\w\\.\\-]*\\.[\\w]{2,6}$","i");
    if(email=="")return true;
    if (!regexp.test(email)||/(\.\.|\.@|@\.)/g.test(email)){
      alert("Emailadressen er ikke indtastet korrekt.\nHvis du ikke ønsker at opgive din emailadresse,\nskal du efterlade feltet tomt");
      return false;
    }
}
</SCRIPT>

Og det er fløjtende ligegyldigt hvor i din kode javascript-blokken står, jeg plejer bare at placere dem i head-sektionen, for så kan jeg nemt smide dem ud i en ekstern fil, når jeg er færdig med at udvikle på skidtet !o]
Avatar billede f_rollo Nybegynder
16. oktober 2004 - 14:59 #4
Hej roenving

Tænkte om du ikke smider et svar så jeg kan få lukket...
Avatar billede roenving Novice
16. oktober 2004 - 15:08 #5
Okay '-)
Avatar billede roenving Novice
16. oktober 2004 - 15:15 #6
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester