/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Validering af e-mail
Fra : Michael Alø-Nielsen


Dato : 15-06-03 19:37

Jeg har følgende sætning til validering af en indtastet e-mail adresse:

if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[A-Za-z0
-9,_-]+",$email)) {

Men en adresse som f.eks. xxxx.xxxx.xxxxxxx@xxxxxxx.xx (x'erne er
selvfølgelig erstattet med andre tegn!) vil ikke godkendes.
Hvad mangler jeg?

/Michael.



 
 
Kim Schulz (15-06-2003)
Kommentar
Fra : Kim Schulz


Dato : 15-06-03 19:43

On Sun, 15 Jun 2003 20:37:17 +0200
"Michael Alø-Nielsen" <m-alo@hotpop.com> wrote:
> Jeg har følgende sætning til validering af en indtastet e-mail
> adresse:
>
> if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[
> A-Za-z0-9,_-]+",$email)) {
>
> Men en adresse som f.eks. xxxx.xxxx.xxxxxxx@xxxxxxx.xx (x'erne er
> selvfølgelig erstattet med andre tegn!) vil ikke godkendes.
> Hvad mangler jeg?

at du ikke kan have mere end et punktum i "brugernavnet" i en email. Din
kode giver adgang til at der kan være

a-z
A-Z
0-9
,- og _

og så et punktum
og så de samme tegn igen




--
Navn : Kim Schulz | QOTD: "I am not sure what this is, but an
Email : kim @ schulz.dk | 'F' would only dignify it."
WWW : www.schulz.dk |

Michael Alø-Nielsen (15-06-2003)
Kommentar
Fra : Michael Alø-Nielsen


Dato : 15-06-03 19:54


"Kim Schulz" <kim@schulz.dk> skrev i en meddelelse
news:20030615204323.47a442db.kim@schulz.dk...
On Sun, 15 Jun 2003 20:37:17 +0200

at du ikke kan have mere end et punktum i "brugernavnet" i en email. Din
kode giver adgang til at der kan være

a-z
A-Z
0-9
,- og _

og så et punktum
og så de samme tegn igen

Okay...
Jeg ved ikke lige hvad kommaet skulle med for... Jeg har aldrig hørt om en
email med kommaer
Hvis jeg skifter kommaet ud med et punktum, vil det så virke efter
hensigten?
Og hvad betyder {0,1} i den kode jeg havde skrevet?
Bær over med mig, jeg er total nybegynder!

/Michael.



Anders K. Madsen (15-06-2003)
Kommentar
Fra : Anders K. Madsen


Dato : 15-06-03 20:08

[snip]
> Og hvad betyder {0,1} i den kode jeg havde skrevet?
> Bær over med mig, jeg er total nybegynder!
>

En god regel som programmør, er _aldrig_ at skrive, eller bruge, noget
kode man ikke forstår...

Kig her: http://www.webcafe.dk/tipsogtricks/php/regex.html for et svar
på dit spørgsmål...

Mvh.
   Madsen


Lars Dybdahl (15-06-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 15-06-03 19:48

Michael Alø-Nielsen wrote:
>
if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[A-Za-z0
> -9,_-]+",$email)) {
> Hvad mangler jeg?

Et grundkursus i at lave let læselig kode...

Lars.

--
Freelance programmør
Programmering mod timebetaling

Kim Schulz (15-06-2003)
Kommentar
Fra : Kim Schulz


Dato : 15-06-03 20:03

On Sun, 15 Jun 2003 20:47:45 +0200
Lars Dybdahl <lars@dybdahl.net> wrote:
> Michael Alø-Nielsen wrote:
> >
> if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[
> A-Za-z0
> > -9,_-]+",$email)) {
> > Hvad mangler jeg?
>
> Et grundkursus i at lave let læselig kode...

det der er nu rimeligt let læseligt hvis man kan regular expression.


--
Navn : Kim Schulz | If a group of N persons implements a COBOL
Email : kim @ schulz.dk | compiler, there will be N-1 passes. Someone
WWW : www.schulz.dk | in the group has to be the manager. -- T.

Kim Schulz (15-06-2003)
Kommentar
Fra : Kim Schulz


Dato : 15-06-03 20:09

On Sun, 15 Jun 2003 20:53:47 +0200
"Michael Alø-Nielsen" <m-alo@hotpop.com> wrote:
>
> "Kim Schulz" <kim@schulz.dk> skrev i en meddelelse
> news:20030615204323.47a442db.kim@schulz.dk...
> On Sun, 15 Jun 2003 20:37:17 +0200
>
> at du ikke kan have mere end et punktum i "brugernavnet" i en email.
> Din kode giver adgang til at der kan være
>
> a-z
> A-Z
> 0-9
> ,- og _
>
> og så et punktum
> og så de samme tegn igen
>
> Okay...
> Jeg ved ikke lige hvad kommaet skulle med for... Jeg har aldrig hørt
> om en email med kommaer
> Hvis jeg skifter kommaet ud med et punktum, vil det så virke efter
> hensigten?
> Og hvad betyder {0,1} i den kode jeg havde skrevet?
> Bær over med mig, jeg er total nybegynder!

koden brudt ned
^ = skal starte med
[A-Za-z0-9,_-] = en liste af tegn, bogstaver og tal
+ = 0 eller flere af slagsen (af dem som er i listen)
\.{0,1} = der kan evt komme 0 eller 1 punktum
[A-Za-z0-9,_-] = listen igen
+ = som sidst men kommer efter et evt. punktum.
\@ = så kommer et snabelA
[A-Za-z0-9,_-] = listen igen
+ = flere af slagsen indtil ....
\.       = ...et punktum
[A-Za-z0-9,_-] = Listen igen
+ = flere af slagsen igen



--
Navn : Kim Schulz | Smoking is, as far as I'm concerned, the
Email : kim @ schulz.dk | entire point of being an adult. -- Fran
WWW : www.schulz.dk | Lebowitz

Johan Holst Nielsen (15-06-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 15-06-03 20:12



Michael Alø-Nielsen wrote:
> Jeg har følgende sætning til validering af en indtastet e-mail adresse:
>
> if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[A-Za-z0
> -9,_-]+",$email)) {
>
> Men en adresse som f.eks. xxxx.xxxx.xxxxxxx@xxxxxxx.xx (x'erne er
> selvfølgelig erstattet med andre tegn!) vil ikke godkendes.
> Hvad mangler jeg?

!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$email)

:)mvh
Johan


Jacob Bunk Nielsen (15-06-2003)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 15-06-03 20:23

Johan Holst Nielsen <johan@weknowthewayout.com> writes:

> !eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$email)

Hvordan har den det med mig@foo.museum ?

.... ikke særlig godt :-\

--
Jacob - www.bunk.cc
Where there's a will, there's a relative.

Johan Holst Nielsen (15-06-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 15-06-03 20:24



Jacob Bunk Nielsen wrote:
> Johan Holst Nielsen <johan@weknowthewayout.com> writes:
>
>
>>!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$email)
>
>
> Hvordan har den det med mig@foo.museum ?
>
> ... ikke særlig godt :-\

Whatever... lav {2,4} om til {2,6} ;=
Havde selv glemt den i valideringen på mine egne sites... ;) de dumme
valideringer ;)

mvh
Johan


Anders Wegge Jakobse~ (15-06-2003)
Kommentar
Fra : Anders Wegge Jakobse~


Dato : 15-06-03 20:31

"Johan" == Johan Holst Nielsen <johan@weknowthewayout.com> writes:

> Michael Alø-Nielsen wrote:
>> Jeg har følgende sætning til validering af en indtastet e-mail adresse:
>> if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[A-Za-z0
>> -9,_-]+",$email)) {
>> Men en adresse som f.eks. xxxx.xxxx.xxxxxxx@xxxxxxx.xx (x'erne er
>> selvfølgelig erstattet med andre tegn!) vil ikke godkendes.
>> Hvad mangler jeg?

> !eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$email)

Er foo.@bar.dk en valid email?

Og hvorfor mener du ikke man må addressere et subdomæne, som bar.baz.dk?


--
/Wegge <http://outside.bakkelygaard.dk/~wegge/>

Johan Holst Nielsen (15-06-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 15-06-03 20:54



Anders Wegge Jakobsen wrote:
> "Johan" == Johan Holst Nielsen <johan@weknowthewayout.com> writes:
>
>
>>Michael Alø-Nielsen wrote:
>>
>>>Jeg har følgende sætning til validering af en indtastet e-mail adresse:
>>>if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[A-Za-z0
>>>-9,_-]+",$email)) {
>>>Men en adresse som f.eks. xxxx.xxxx.xxxxxxx@xxxxxxx.xx (x'erne er
>>>selvfølgelig erstattet med andre tegn!) vil ikke godkendes.
>>>Hvad mangler jeg?
>>
>
>>!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$email)
>
>
> Er foo.@bar.dk en valid email?

Don't know actually. RFC?

> Og hvorfor mener du ikke man må addressere et subdomæne, som bar.baz.dk?

Hvem har sagt den ikke må det?
Kan se jeg har en lille fejl i scriptet...
Man bør smide en $ ind til aller sidst... ellers kunne man smide flere
@'er ind... men så vidt jeg ved har der aldrig været probs med
foo.bar.dk domæner ;)

mvh
Johan



Anders Wegge Jakobse~ (15-06-2003)
Kommentar
Fra : Anders Wegge Jakobse~


Dato : 15-06-03 21:24

"Johan" == Johan Holst Nielsen <johan@weknowthewayout.com> writes:

> Anders Wegge Jakobsen wrote:
>> "Johan" == Johan Holst Nielsen <johan@weknowthewayout.com> writes:
>>
>>> Michael Alø-Nielsen wrote:
>>>
>>>> Jeg har følgende sætning til validering af en indtastet e-mail adresse:
>>>> if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[A-Za-z0
>>>> -9,_-]+",$email)) {
>>>> Men en adresse som f.eks. xxxx.xxxx.xxxxxxx@xxxxxxx.xx (x'erne er
>>>> selvfølgelig erstattet med andre tegn!) vil ikke godkendes.
>>>> Hvad mangler jeg?
>>>
>>
>>> !eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$email)
>> Er foo.@bar.dk en valid email?

> Don't know actually. RFC?

Det er dig der møder op med et regulært udtryk der accepterer den
type adresser, så du må vel selv vide det. Jeg spørger af interesse.

>> Og hvorfor mener du ikke man må addressere et subdomæne, som bar.baz.dk?

> Hvem har sagt den ikke må det?
> Kan se jeg har en lille fejl i scriptet...
> Man bør smide en $ ind til aller sidst... ellers kunne man smide flere
> @'er ind... men så vidt jeg ved har der aldrig været probs med
> foo.bar.dk domæner ;)

Det er mig der blander + og ? sammen, sorry.

--
/Wegge <http://outside.bakkelygaard.dk/~wegge/>

Johan Holst Nielsen (16-06-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 16-06-03 07:48

Anders Wegge Jakobsen wrote:
>>>Er foo.@bar.dk en valid email?
>>
>
>>Don't know actually. RFC?
>
> Det er dig der møder op med et regulært udtryk der accepterer den
> type adresser, så du må vel selv vide det. Jeg spørger af interesse.

Sorry, men alt ting må tages i betragtning. Jeg vidste blot ikke i
hvilken RFC jeg skulle kigge ;) Det var ikke en kritik af dig...

Men jeg mener fejlen er underordnet... hvis de forsøger at snyde en
e-mail validering ved at sætte et punktum ind inden @ så kunne de lige
så godt skrive forkert navn?

Men jeg retter gerne op på den hvis det ønskes?

mvh
Johan


Jacob Bunk Nielsen (15-06-2003)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 15-06-03 20:53

Anders Wegge Jakobsen <wegge@bakkelygaard.dk> writes:

> Er foo.@bar.dk en valid email?

Nej, ikke i følge RFC 2822, som jeg læser den. Det er .@foo.dk heller
ikke. Noget mailsoftware kan dog godt finde ud af det alligevel.

--
Jacob - www.bunk.cc
Beam me up, Scotty! It ate my phaser!

Michael Alø-Nielsen (15-06-2003)
Kommentar
Fra : Michael Alø-Nielsen


Dato : 15-06-03 20:28

"Michael Alø-Nielsen" <m-alo@hotpop.com> skrev i en meddelelse
news:3eecbcfa$0$24686$edfadb0f@dread14.news.tele.dk...

> Hvad mangler jeg?

Tak for hjælpen, både til Kim, Anders og Johan.
Nu virker det efter hensigten, og jeg tror også jeg forstår sammenhængen
lidt bedre!

/Michael.



Peter Brodersen (15-06-2003)
Kommentar
Fra : Peter Brodersen


Dato : 15-06-03 23:58

On Sun, 15 Jun 2003 20:37:17 +0200, "Michael Alø-Nielsen"
<m-alo@hotpop.com> wrote:

>if(!eregi("^[A-Za-z0-9,_-]+\.{0,1}[A-Za-z0-9,_-]+\@[A-Za-z0-9,_-]+\.[A-Za-z0
>-9,_-]+",$email)) {
>
>Men en adresse som f.eks. xxxx.xxxx.xxxxxxx@xxxxxxx.xx (x'erne er
>selvfølgelig erstattet med andre tegn!) vil ikke godkendes.
>Hvad mangler jeg?

At smide den ud.

Seriøst, ovenstående kan da være en flink hjælp til at tjekke om folk
har lavet en fejl, men den vil fx ikke godkende en adresse under fx
domæne.co.uk.

Så tør man spørge, hvad formålet præcist er? Skal det bare være en
hjælp til folk, eller skal den udelukke de tilfælde, hvor det ikke er
sandsynligt at mailen kan komme frem?

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste