/ 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
validere emailadresse
Fra : Leonard


Dato : 18-01-08 20:24

Hvorfor virker denne ikke:
function checkEMail(addr) {
return (/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,6}$/).test(addr);
}

Når denne virker:
function checkEMail(addr) {
return (/^.+@.+\..+/).test(addr);
}

?

--
Leonard
King Hauler sælges: http://leonard.dk/tilsalg/kh.php

 
 
Rune Jensen (18-01-2008)
Kommentar
Fra : Rune Jensen


Dato : 18-01-08 20:32

On 18 Jan., 20:24, Leonard <piper...@gmail.invalid> wrote:
> Hvorfor virker denne ikke:
> function checkEMail(addr) {
> return (/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,6}$/).test(addr);
>
> }
>
> Når denne virker:
> function checkEMail(addr) {
> return (/^.+@.+\..+/).test(addr);
>
> }
>
> ?

Jeg mener, du kan teste Javascript her:
http://www.regular-expressions.info/javascriptexample.html

Der er en lille forklaring til, hvordan man (generelt) finder
emailadresse her:
http://www.regular-expressions.info/email.html

...har ikke selv så meget forstand på RegExp endnu, desværre. Og så
mange guruer er der vidst heller ikke, da det åbenbart ikke er noget,
som mange beskæftiger sig med.

Der er flere ting, man skal være opmærksom på, bl.a. global og så at
der tages højde for store/små bogstaver. Det var det, som har drillet
mig (bl.a.), selvom det så var ASP.

Men bedre at få de rigtige informationer fra nogen, som ved det.
Linksne har hjulpet mig en del.


MVH
Rune Jensen

Lasse Reichstein Nie~ (19-01-2008)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 19-01-08 10:34

Leonard <piper28a@gmail.invalid> writes:

> Hvorfor virker denne ikke:
> function checkEMail(addr) {
> return (/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,6}$/).test(addr);
> }

Det ligner Javascript. I Javasripts regulære udtryk er der ikke nogen
[:alnum:] forkortelse. Du lbliver nødt til at skrive den ud som
[a-z0-9].
Husk at sætte flaget "i" på det regulære udtryk (eller lave toLowerCase
på adressen før den testes).

Du kan læse specifikationen af Javascript regexp patterns i
ECMAScript-standarden (fx <URL:http://www.mozilla.org/js/language/E262-3.pdf>)
afsnit 15.10.1

> Når denne virker:
> function checkEMail(addr) {
> return (/^.+@.+\..+/).test(addr);
> }

Fordi den sidste betyder det du tror den betyder, og den første ikke gør.

Desuden er den sidste bedre, fordi den ikke sorterer så meget fra.
Det første udtryk, hvis det havde virket, ville bl.a. udelukke
e-mail-adresser som foo+bar@example.com.
Hvis man skal sortere syntaktisk forkerte input fra, så skal man
sørge for ikke at være for grov i sorteringen. Det er værre at udelukke
folk med en rigtig adresse, end det er at acceptere en forkert.

/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.'

Leonard (19-01-2008)
Kommentar
Fra : Leonard


Dato : 19-01-08 11:05

On Sat, 19 Jan 2008 10:34:03 +0100, Lasse Reichstein Nielsen wrote:

> Desuden er den sidste bedre, fordi den ikke sorterer så meget fra.
> Det første udtryk, hvis det havde virket, ville bl.a. udelukke
> e-mail-adresser som foo+bar@example.com.
> Hvis man skal sortere syntaktisk forkerte input fra, så skal man
> sørge for ikke at være for grov i sorteringen. Det er værre at udelukke
> folk med en rigtig adresse, end det er at acceptere en forkert.

OK, så bruger jeg bare den sidste.

--
Leonard
King Hauler sælges: http://leonard.dk/tilsalg/kh.php

Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste