Avatar billede morten_soegaard Nybegynder
30. september 2004 - 19:21 Der er 13 kommentarer og
1 løsning

Validering af E-Mail

Hej

Jeg skal ha lavet et script som validere en e-mail adresse fra et felt. Den skal tjekke om der er skrevet @ og et . osv. Jeg ved ik helt hvordan jeg skal starte. Har prøvet på at lave noget via if sætninger og indexOf men det virker ik så godt. Er det optimalt at bruge Regular expression. Har brug for en lille kikstarter.

Mvh Morten
Avatar billede snepnet Nybegynder
30. september 2004 - 19:25 #1
den gængse løsning er med et regulært udtryk (det er i hvert fald min opfattelse)... du kan bruge sådan et som det her :

^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$
Avatar billede snepnet Nybegynder
30. september 2004 - 19:28 #2
(udtrykket er fundet vha the regulator som normalt kan hentes her : http://regulator.sourceforge.net/ - siden ser dog ud til at være nede lige pt.)

mvh
Avatar billede morten_soegaard Nybegynder
30. september 2004 - 19:30 #3
Måske du vil forklare det lidt yderligere?
Avatar billede morten_soegaard Nybegynder
30. september 2004 - 19:31 #4
Okay, dvs. det er ik noget du selv har fundet på det der?
Avatar billede eagleeye Praktikant
30. september 2004 - 19:39 #5
Der findes mange forskellige regular expression som tjekker email adresser. Her er også en simpel udgave (vede ved verifyemail.js):
http://www.ljweb.com/usefulscripts/
Avatar billede snepnet Nybegynder
30. september 2004 - 19:42 #6
(nej nej - den har jeg ikke selv lige siddet og digtet :o)
Avatar billede morten_soegaard Nybegynder
30. september 2004 - 19:43 #7
eagleeye: Jeg vil helst gerne selv programmere det meste af det, da det er til et projekt med skolen.
Avatar billede eagleeye Praktikant
30. september 2004 - 19:45 #8
ok, vil du lave det med regular expresseion?
Du kan se en masse omkring pattern her:
http://dk.php.net/manual/en/reference.pcre.pattern.syntax.php
Avatar billede morteeart Nybegynder
30. september 2004 - 19:47 #9
det er dog ikke smart at bruge javascript til at validerer noget som helst, fordi at hvis brugen har slået javascript fra, kan der stadig benyttes flask email.
Avatar billede morten_soegaard Nybegynder
30. september 2004 - 19:51 #10
morteeart: Ja, men jeg skal skrive det i javaScript.

eagleeye:Okay det kigger jeg lige på.

Jeg ku godt tænke mig at få et eksempel på hvordan man skal skrive regexp op, kan ikke helt forestille mig det ud fra nogle grænser.
Avatar billede morten_soegaard Nybegynder
30. september 2004 - 19:52 #11
eagleeye: Og ja jeg vil lave det med javascript
Avatar billede eagleeye Praktikant
30. september 2004 - 20:01 #12
Et pattern er omsluttet af /

reg = /pattern/;

Så kan du på en variable kalde match:  if (str.match(reg))

Lidt om pattern:

\d mather tal
^ matcher starten på en streng
$ matcher slut på en streng
. matcher alle karakter undtagen newline
\w matcher A-Z, 0-9 og _

man kan bruge {x,y} hvis man vil havde dn matcher X til Y at en en/nogle karakter, eks. hvis man vil tjekke om en streng indeholder 4-6 til:
/^(\d){4,6}$/

Se mere her:
http://javascriptkit.com/javatutors/re.shtml
http://home.cogeco.ca/~ve3ll/jstutore.htm
http://wsabstract.com/javatutors/redev2.shtml
Avatar billede roenving Novice
01. oktober 2004 - 00:35 #13
var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
  var regexp = new RegExp("^["+t+"]["+t+"\\.\\-\\+]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2}["+t+"\\.\\-\\/]*$","i");
  tekst=f.mail.value.toLowerCase();
  if (!regexp.test(tekst)){
      alert ("Der skal stå en gyldig e-mail adresse i tekst feltet");
      f.mail.focus();
      return false;
  }

-- er den jeg umiddelbart bruger ...
Avatar billede morten_soegaard Nybegynder
07. oktober 2004 - 19:48 #14
LUKKET
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