Avatar billede tlofqu Nybegynder
03. marts 2001 - 12:11 Der er 9 kommentarer og
3 løsninger

Regulært udtryk

Er der en der har et regulært udtryk til check af en email-adresse ?
Avatar billede lojmann Nybegynder
03. marts 2001 - 12:51 #1
/^[^\\.]?[\\w\\.-]+@[^\\.]?[\\w\\.-]+\\.[A-Z]{2,3}$/i
Avatar billede tlofqu Nybegynder
03. marts 2001 - 13:24 #2
Det kan godt være at jeg spørger dumt - men hvordan bruges det - er der en slags \"eregi\" som i PHP ?
Avatar billede lojmann Nybegynder
03. marts 2001 - 13:28 #3
Hmm... Kan ikke huske det, har ikke kodet Delphi i et par år... Men MÅSKE kan du se noger her: http://www.pythia.dk/
Avatar billede martinlind Nybegynder
03. marts 2001 - 14:49 #4
Det ligner en Maske til en TMaskEdit control

Avatar billede tlofqu Nybegynder
03. marts 2001 - 15:23 #5
Det vil sige at man skal have en input mask, der kan checke email-adressen ? sådan som jeg ser det er det ret stivt i forhold til at en email-adresse kan have forskellig længde. Hvordan udformes denne inpur mask så den er fleksibel - er der en der har et eksempel.
På forhånd tak
Avatar billede tlofqu Nybegynder
03. marts 2001 - 15:51 #6
Jeg troede det var et let spørgsmål - men nu er der afsat flere point ;)
Avatar billede jespernaur Nybegynder
03. marts 2001 - 16:06 #7
Check af email-adresser er absolut ikke simpelt, hvilket understreges af Jeffrey Friedl i hans (meget anbefalelsesværdige) bog Mastering Regular Expressions (O\'Reilly). Han har et afsluttende eksempel, hvor han udvikler et regulært udtryk på 6598 tegn! Stik den.
Avatar billede tlofqu Nybegynder
03. marts 2001 - 17:55 #8
>> Jespernauer Kan du ikke kigge i din bog og så komme med et eksempel - det behøver ikke at være den på 6598 tegn - blot en generel én derr virker?
Avatar billede jespernaur Nybegynder
03. marts 2001 - 20:05 #9
Det står og falder med, hvor stringent kontrollen skal være. De 6598 tegn udgør
hvad der skal til for at få så meget som muligt med fra den officielle
specifikation RFC822 som muligt. Man kan slippe afsted med meget mindre, hvis
man man går en smule på kompromis med, at visse obskure og egentlig ukorrekte adresser
slipper igennem, eller at lovlige adresser, fx indeholdende blanktegn:

a.b @c.dk

bliver afvist.

Lojmann\'s svar ovenfor er slet ikke tosset, den eneste rigtige
skavank er at han tillader @ som første tegn (ex: @a@b.dk).
Dette kan dog let rettes:

/^[^\\.@]?[\\w\\.-]+@[^\\.]?[\\w\\.-]+\\.[A-Z]{2,3}$/i

Han afviser også blanktegn, men det fører for vidt at reparere
på det i dette spm.

Dit spm går også på hvordan man gør dette i Delphi. Da jeg ikke kender Delphi, ved
jeg heller ikke om der er funktioner for håndtering af regulære udtryk, eller
hvordan de evt benyttes.
Avatar billede lrj Nybegynder
04. marts 2001 - 23:36 #10
Delphi har ikke indbygget understøttelse for regulære udtryk. Men fx. JCL har denne funktionalitet, blandt meget andet. Hent den på http://www.delphi-jedi.org - og der er source med og så\'n :)
Avatar billede tlofqu Nybegynder
05. marts 2001 - 20:45 #11
Jeg fandt ikke rigtig noget der hjalp - nu har jeg kodet på \"gammeldaws\" maner !!! Men tak alligevel - point er fordelt mellem jer ;)
Avatar billede lrj Nybegynder
06. marts 2001 - 09:36 #12
tlofgu> well, man skal lede lidt i JCL for at finde de regulære udtryk, men implementationen skulle være ret god og komplet.
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
Kurser inden for grundlæggende programmering

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