/ 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
e-mail validering
Fra : Michael


Dato : 15-09-01 16:20

Denne validering af en e-mail fra html.dk som vist er meget god
men hvad hvis e-mail feltet skal være frivilligt kan man så få
scriptet til at kun validere hvis der bliver skrevet i feltet og
hvis der ikke bliver skrevet i feltet bliver det ignoreret .

function validering()
{
error = 0;

placering=0;
tekst=(document.forms[0].email.value).toLowerCase();
placering=tekst.indexOf("@");
if(tekst ==""){
alert ("Der skal stå en e-post adresse i tekst feltet");
error = 1;
}
else{
tegn=tekst.indexOf(" ");
if(tegn!=-1){
alert ("Der må ikke være mellemrum i adressen");
error = 1;
}
else{
if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 ||
tekst.indexOf("å")!=-1 ||
tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 ||
tekst.indexOf("Å")!=-1 ||
tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
alert ("Der er ulovlige tegn i adressen. Må ikke
indeholde: æ ø å Æ Ø Å , ;");
error = 1;
}
else{
if (placering<1 || tekst.length<=(placering+1)){
alert ("e-post adressen er forkert - forsøg igen");
error = 1;
}
}
}
}
if(error == 0)
document.forms[0].submit();   
}


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Dennis Skærup Højlun~ (15-09-2001)
Kommentar
Fra : Dennis Skærup Højlun~


Dato : 15-09-01 16:38

Michael wrote:
> Denne validering af en e-mail fra html.dk som vist er meget god
> men hvad hvis e-mail feltet skal være frivilligt kan man så få
> scriptet til at kun validere hvis der bliver skrevet i feltet og
> hvis der ikke bliver skrevet i feltet bliver det ignoreret .

Du kan lave en ny function der kalder validering() hvis der er er
indhold i email-feltet. Noget i denne retning:

function emailvalidering()
{
if (document.forms[0].email.value != '') {
validering();
}
}

--
Dennis Skærup Højlund Andersen (http://euph.dk)

cat /dev/coffee | /dev/cup | /dev/mouth | /dev/nose > /dev/keyboard

Jakob Andersen (18-09-2001)
Kommentar
Fra : Jakob Andersen


Dato : 18-09-01 13:59

"Michael" <117@popit.dk> wrote in message news:9nvrji$82j$1@sunsite.dk...
> Denne validering af en e-mail fra html.dk som vist er meget god
> men hvad hvis e-mail feltet skal være frivilligt kan man så få
> scriptet til at kun validere hvis der bliver skrevet i feltet og
> hvis der ikke bliver skrevet i feltet bliver det ignoreret .


Det er en noget stor smøre for ingenting man fyrer af med den der man kan
gøre det noget lettere med et simpelt regex sådan her:

function checkemail(adr)
{
if ( adr.length > 0 ){
var emailexp = /^[a-z][a-z_0-9\.\-]+@[a-z_0-9\.]+\.[a-z]{2,4}$/i;
return emailexp.test(adr);
}else{
return true;
}
}



--
Jakob Andersen
"No matter how great and destructive your problems may seem now, remember,
you've probably only seen the tip of them"



Peter Brodersen (18-09-2001)
Kommentar
Fra : Peter Brodersen


Dato : 18-09-01 15:57

On Tue, 18 Sep 2001 14:59:00 +0200, "Jakob Andersen" <jta@advice.dk>
wrote:

> var emailexp = /^[a-z][a-z_0-9\.\-]+@[a-z_0-9\.]+\.[a-z]{2,4}$/i;

.... og så meget for stakkels bruger@domæne.co.uk eller p@domæne.dk :)

Den slags e-mail-checks kan altid kun være en tommelfingerregel, men
en lidt mere fleksibel kunne være:

/^[^@ ]+@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,4}$/i

En detalje er, at jeg i mit forslag ikke medtager "_" i domæne-delen,
forbyder at en led i det fulde domænenavn starter eller slutter med
"-", plus der tilllades et vilkårligt antal led.

(... og nu ingen referencer til RFC2821 og berømte monster-regexps -
sidstnævnte er ikke til validering af e-mail-adressen alene)

--
- Peter Brodersen

Jakob Andersen (18-09-2001)
Kommentar
Fra : Jakob Andersen


Dato : 18-09-01 19:57

"Peter Brodersen" <professionel@nerd.dk> wrote in message
news:SfJp7.922$Q3.8440@news010.worldonline.dk...
> ... og så meget for stakkels bruger@domæne.co.uk eller p@domæne.dk :)

Så kan de vel forstå at vi ikke kan li dem

> Den slags e-mail-checks kan altid kun være en tommelfingerregel, men
> en lidt mere fleksibel kunne være:

> /^[^@ ]+@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,4}$/i

Den er en smule smukkere omend du som du selv nævner(RFC2821) stadig ikke er
helgarderet

--
Jakob Andersen



Peter Brodersen (18-09-2001)
Kommentar
Fra : Peter Brodersen


Dato : 18-09-01 20:28

On Tue, 18 Sep 2001 20:56:36 +0200, "Jakob Andersen" <jta@advice.dk>
wrote:

>Så kan de vel forstå at vi ikke kan li dem

:)

>Den er en smule smukkere omend du som du selv nævner(RFC2821) stadig ikke er
>helgarderet

.... men når man beder folk om at indtaste deres e-mail-adresse, så
forventes der, at der fx indtastes:
jta@advice.dk

Der forventes ikke, at der bliver indtastet:
"Jakob Andersen" <jta@advice.dk>

Sidstnævnte er en gyldig RFC2821-adresse. Dette giver også mulighed
for at have kommentarer undervejs i selve adressen, og fx
multi-stage-delivery (fx jta@designafdelingen@advice.dk). Det er dog
ikke noget, vi gider at honorere. Og da slet ikke fordi vi måske et
andet sted i hele vores formular spørger om navn, så der ikke er noget
behov for at opgive den som en del af sin adresse.

--
- Peter Brodersen

Peter Brodersen (18-09-2001)
Kommentar
Fra : Peter Brodersen


Dato : 18-09-01 20:29

On Tue, 18 Sep 2001 21:27:49 +0200, Peter Brodersen
<professionel@nerd.dk> wrote:

>Og da slet ikke fordi vi måske et
>andet sted i hele vores formular spørger om navn, så der ikke er noget
>behov for at opgive den som en del af sin adresse.

.... og jeg havde vist også en pointe, hvilket var noget i retning af,
at det berømte RFC821-check (som det blev lavet til), ikke checker
det, vi ville forvente, at det ville checke.

--
- Peter Brodersen

Jakob Andersen (18-09-2001)
Kommentar
Fra : Jakob Andersen


Dato : 18-09-01 20:28

"Peter Brodersen" <professionel@nerd.dk> wrote in message
news:5eNp7.1192$Q3.20604@news010.worldonline.dk...

> Der forventes ikke, at der bliver indtastet:
> "Jakob Andersen" <jta@advice.dk>
>
> Sidstnævnte er en gyldig RFC2821-adresse. Dette giver også mulighed
> for at have kommentarer undervejs i selve adressen, og fx
> multi-stage-delivery (fx jta@designafdelingen@advice.dk). Det er dog
> ikke noget, vi gider at honorere. Og da slet ikke fordi vi måske et
> andet sted i hele vores formular spørger om navn, så der ikke er noget
> behov for at opgive den som en del af sin adresse.

Smukkere kan det ikke siges....

--
Jakob Andersen



Lars Hoffmann (18-09-2001)
Kommentar
Fra : Lars Hoffmann


Dato : 18-09-01 21:15

Peter Brodersen wrote:
>
> /^[^@ ]+@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,4}$/i

Nu _vil_ jeg lære det, hvor kan jeg læse om regex?

Jakob Andersen (18-09-2001)
Kommentar
Fra : Jakob Andersen


Dato : 18-09-01 21:32

"Lars Hoffmann" <larshoffmann@teleline.es> wrote in message
news:3BA7AB3B.173E7AF9@teleline.es...
> Nu _vil_ jeg lære det, hvor kan jeg læse om regex?

http://perldoc.com/perl5.6.1/pod/perlretut.html


--
Jakob Andersen



Jakob Andersen (19-09-2001)
Kommentar
Fra : Jakob Andersen


Dato : 19-09-01 09:14

"Jakob Andersen" <jta@advice.dk> wrote in message
news:9o8b21$nd7$1@news.cybercity.dk...
> http://perldoc.com/perl5.6.1/pod/perlretut.html

Og endnu et link præget af at jeg er perl menneske.
http://keck.ucsf.edu/~kvale/perlretut.pod

--
Jakob Andersen
"No matter how great and destructive your problems may seem now, remember,
you've probably only seen the tip of them"



Jakob Andersen (23-09-2001)
Kommentar
Fra : Jakob Andersen


Dato : 23-09-01 10:48

"Jakob Andersen" <jta@advice.dk> wrote in message
news:9o8b21$nd7$1@news.cybercity.dk...
> http://perldoc.com/perl5.6.1/pod/perlretut.html

Hovsa jeg mente:
http://perldoc.com/perl5.6.1/pod/perlre.html

--
Jakob Andersen



Peter Brodersen (19-09-2001)
Kommentar
Fra : Peter Brodersen


Dato : 19-09-01 00:31

On Tue, 18 Sep 2001 22:14:51 +0200, Lars Hoffmann
<larshoffmann@teleline.es> wrote:

>> /^[^@ ]+@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,4}$/i
>Nu _vil_ jeg lære det, hvor kan jeg læse om regex?

http://www.oreilly.com/catalog/regex/
"Mastering Regular Expressions", af Jeffrey Friedl

Den kan anbefales. Flere er irriterede over at den ikke lige
indeholder en del hurtige reference-cards, men dens formål er at lære
dig at tænke i regex-baner og forstå regex-logikken. Blot at vifte med
et lyssværd gør jo ikke folk til Jedi :)

--
- Peter Brodersen

Lars Hoffmann (22-09-2001)
Kommentar
Fra : Lars Hoffmann


Dato : 22-09-01 21:43

Peter Brodersen wrote:
>
> http://www.oreilly.com/catalog/regex/
> "Mastering Regular Expressions", af Jeffrey Friedl

Jo den ser udemærket ud, men jeg tænkte mere på noget online
dokumentation.

Peter Brodersen (22-09-2001)
Kommentar
Fra : Peter Brodersen


Dato : 22-09-01 22:24

On Sat, 22 Sep 2001 22:42:30 +0200, Lars Hoffmann
<larshoffmann@teleline.es> wrote:

>Jo den ser udemærket ud, men jeg tænkte mere på noget online
>dokumentation.

"perldoc perlre" plejer at være det normale nørd-svar.

Alternativt "man 7 regex"

Ellers, af hvad jeg lige fandt af henvisninger på php.net:
http://www.google.com/search?q=posix+1003%2E2+regular+expressions
http://www.phpbuilder.com/columns/dario19990616.php3

Nogle detaljer er måske sprog-specifikke, men de fleste gennemgår
noget basis-forståelse.

Jeg vil dog stadigvæk anbefale "Mastering Regular Expressions" eller
lignende litteratur, der øser af erfaringer.

--
- Peter Brodersen

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

Månedens bedste
Årets bedste
Sidste års bedste