Joe <amplifymysoul@hotmail.com> writes:
> Følgende javascript skulle gerne kunne sætte ready='true' med
> email='joe@net.dk' som input, men gør det ikke.... hvad har jeg lavet
> forkert eller er der en nemmere måde?
> .......
> var isaemail = /[A-Za-z0-9]\w{2,}@ [A-Za-z0-9-]{3,}\.\[A-Za-z]{2,3}/;
^mellemrum! ^escaper [
> var ready = isaemail.test(email);
Mellemrum betyder noget i regulære udtryk, så du matcher kun hvis
der står et mellemrum efter "@" i adressen.
Den ekstra backslash før [ betyder at du matcher strengen "[A-Za-z" efterfulgt af to eller tre "]"'er.
Altså en test-streng der ville give true er:
"bbb@ bbb.[A-Za-z]]"
Det er dog en dårlig test for e-mail-adresser. Den accepterer fx ikke
ib@ex.info
som er en helt lovlig adresse (top-level-domæner er ikke længere kun
to eller tre tegn, og der er ingen krav om mindst tre tegn i hverken
navn eller domæne). Faktisk er
"Gilbert O'Sullivan"@z.info
helt lovlig (hvis z.info fandtes).
Jeg anbefaler at du nøjes med at tjekke:
/^.+@.+\..+$/
eller evt:
/^[^@]+@[^@\s]+\.[^@\s]+$/
/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.'