|
| 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 |
| | |
Jakob Andersen (19-09-2001)
| Kommentar Fra : Jakob Andersen |
Dato : 19-09-01 09:14 |
| | |
Jakob Andersen (23-09-2001)
| Kommentar Fra : Jakob Andersen |
Dato : 23-09-01 10:48 |
| | |
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
| |
|
|