Alla jäkla epostadress-verifierings-script

Permalänk
Medlem

Alla jäkla epostadress-verifierings-script

Hallå...

Alltså, jag vet inte riktigt vad det är för valideringsscript för epostadresser som är "inne" just nu, men fler och fler siter säger att min epostadress är inkorrekt, helt eller delvis pga understrecket.
ettNamn_@hotmail.com har jag...

Massor av registreringsscript på olika siter här och var säger att min adress är felaktigt skriven.

Senast upptäckta nu var IDGs forum, för några veckor sedan så var det fz.se som inte lät mig göra en buggrapport pga att min avsändaradress inte var godkänd.

Tips till alla som gör communitites etc: Ha ett vettigt valideringsscript.

Permalänk
Medlem

eller så kanske det är du som ska skaffa en vettig email?
skämt o sido.. bäst o se över sina egna script. *klickar iväg*

Permalänk

Illa att deras validering inte funkade med den där, när mitt eget hemknåpade gjorde det.

Visa signatur

Asus Maximus II formula, E8400 @ 3.9GHz, 4GB Dominator DDR2, Radeon HD4850.

Permalänk
Medlem

Det bästa vore ju om den bara stoppade helt på fundamentala fel som att man inte angett ett @ eller en domän och på alla mindre viktiga fel, som att man skrivit ett understreck kunde scriptet fråga om man verkligen skrivit rätt och låta en bekräfta istället. Smarta script, ja tack!

Permalänk
Medlem

alltså jag tycker att det är minst sagt Riktigt klåpigt att scriptet nekar helt korrekta adresser. Det enda jag kan se som "nästan förlåter" dem, är att det kanske finns standarder idag för hur nyregistrerade adresser ska vara, som kanske inte fanns då jag registrerade min för massor av år sedan.... Men inte är väl understreck någonting anmärkningsvärt? Om det är understrecket överhuvudtaget som inte är önskvärt, eller om det är kombinationen _@ som är problemet vet jag inte (jag har inte ens försökt kollat upp felet), men som sagt, fler och fler siter börjar bråka och jag antar att det helt enkelt beror på något "innescript" som är nån fin regexpkod i php som alla har lånat från samma ställe eller nåt... - Ingen aning, men mycket störande är det. Jag har ju förståss fler adresser som däremot fungerar, men det förändrar inte att jag blir rätt irriterad på deras inkompetenta lösningar....

Permalänk
Medlem

alltså, man har en input som man skriver in sitt användarnamn på domänen, sen i andra inputen skriver man in domänen... typ:

email användarnamn: användarnamn: |kalle | @ |kalle.se |

sen sätter man ihop dom två när man sätter in dom i databasen..

det är väl en lösning ?

Permalänk

nalle: Till vilket problem är det en lösning? Om du tänkar att man då kan validera domänen (kalle.se) och "användarnamnet" (kalle) för sig så är det ju helt onödigt eftersom det går att validera samtidigt, med hjälp av ett regex. Det totoo klagar på är att de regex som många stora siter inte accepterar korrekta adresser.

Visa signatur

Permalänk
Medlem

Här är ett regexp som i alla fal klarar att validera de flesta email-adresserna enligt RFC 822. Om alla skulle använda det så skulle vi slippa såna här problem.

(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?: \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:( ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0 31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\ ](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+ (?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?: (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n) ?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\ r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n) ?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t] )*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])* )(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*) *:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+ |\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r \n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?: \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t ]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031 ]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\]( ?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(? :(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(? :\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(? :(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)? [ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]| \\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<> @,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|" (?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t] )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(? :[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[ \]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000- \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|( ?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,; :\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([ ^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\" .\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\ ]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\ [\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\ r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\] |\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0 00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\ .|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@, ;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(? :[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])* (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\". \[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[ ^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\] ]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*( ?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:( ?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[ \["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t ])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t ])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(? :\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+| \Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?: [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\ ]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n) ?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[" ()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n) ?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<> @,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@, ;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t] )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)? (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\". \[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?: \r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[ "()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t]) *))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]) +|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\ .(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:( ?:\r\n)?[ \t])*))*)?;\s*)

Permalänk
Medlem

jag har sett den där förr. Kan någon förklara lite löst varför man ska behöva ha så mycket kod? Vad finns det för konstiga epostadressregler som jag aldrig hört talats om?

Typ sånt här håller jag koll på:
krav på @
krav på . efter @
alla tre fälten (A@b.c) måste börja med en bokstav (tror jag).
sedan är det ju en massa specialtecken som inte får förekomma (det enda förutom siffror och a-z är väl typ '.' eller?)

Aja...

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av totoo
jag har sett den där förr. Kan någon förklara lite löst varför man ska behöva ha så mycket kod? Vad finns det för konstiga epostadressregler som jag aldrig hört talats om?

Typ sånt här håller jag koll på:
krav på @
krav på . efter @
alla tre fälten (A@b.c) måste börja med en bokstav (tror jag).
sedan är det ju en massa specialtecken som inte får förekomma (det enda förutom siffror och a-z är väl typ '.' eller?)

Aja...

Krav på . efter @ är inte så himla bra för det finns de som har addresser som t.ex. christoffer@se. Det är väldigt sällsynt men det är synd att stänga ute de stackarna som har så fina email-adresser.

Permalänk
Medlem

Om man inte är stensäker e det nog bäst o bara kolla efter @ eftersom det finns en del regler o det e lätt o missa ngt, som tex "min adr"@test.com. Den senaste RFCn är 2822: http://tools.ietf.org/html/2822 så det e nog bättre o kolla i den än i 822, även om 822 fortfarande är standard?

Egentligen så ser jag inte riktigt varför man skulle vilja validera mailen så noga på en hemsida, det kan ju bara säga att det är möjligt att någon har en sådan adr, inte att den verkligen finns och tillhör personer som uppger den.

btw, jag har 123@123-email.com så tänk på siffror när du validerar mail totoo!

Permalänk
Medlem

Ett annat problem är ju att inmatningsfälten ofta är allt för korta, exempelvis stängs alla adresser från http://abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab... ute om inte fälten är ganska rejäla..

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av vb
btw, jag har 123@123-email.com så tänk på siffror när du validerar mail totoo!

omg, man kunde ha enbart siffror alltså... aja, mitt script är rätt snällt.

Permalänk
Medlem

Räcker väl med ett valideringskript som tillåter alla giltliga tecken före @ och alla tillåtna efter.

typ a-z, A-Z, 0-9, -, _ och . (@) a-z, A-Z, 0-9, - och . (.) a-z och .

Visa signatur

MacBook Pro (Unibody) 2.4 GHz, 2 GB RAM, 250 GB HDD
Nikon D50, Nikkor AF-S DX 18-55/3.5-5.6G ED, Nikkor AF 50/f1.8D, Tamron AF 70-300mm F/4-5,6 Di LD Macro 1:2

Permalänk
Medlem

och troligtvis åäö nu när man kan köpa domäner med det..

Visa signatur

Don't jump to conclusions before the gun is loaded

Permalänk
Medlem

Jag förstår heller inte problemet. Vad gör dessa skript som är så viktigt att en del nekar ordentliga adresser? Tycker "something@something" borde godkännas.

*) Ska ett verifieringsmail skickas till adressen så får de ju inte brevet om det nu är fel. Ok att de kan ha skrivit fel, men försök på nytt, det påverkar ju inte skriptet ändå.

*) Ska verifieringsmail INTE skickas, och skriptet stoppar dem från att ge en falsk e-mail så är det väl inte svårare för dem att komma runt skriptet än att ge kalle_svensson@hotmail.com förutsatt att de inte har den adressen?

Verkar mycket mystiskt

Visa signatur

g++

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Rhino
Jag förstår heller inte problemet. Vad gör dessa skript som är så viktigt att en del nekar ordentliga adresser? Tycker "something@something" borde godkännas.

*) Ska ett verifieringsmail skickas till adressen så får de ju inte brevet om det nu är fel. Ok att de kan ha skrivit fel, men försök på nytt, det påverkar ju inte skriptet ändå.

*) Ska verifieringsmail INTE skickas, och skriptet stoppar dem från att ge en falsk e-mail så är det väl inte svårare för dem att komma runt skriptet än att ge kalle_svensson@hotmail.com förutsatt att de inte har den adressen?

Verkar mycket mystiskt

Håller med, vad är vitsen med valideringen överhuvudtaget, vill man vara helt säker skickar man ett valideringsmail som användaren måste läsa och få någon form av aktiveringskod. Annars använder ju folk bara foo@bar.com.

Hade själv en adress med 2st understreck i rad ett tag och kommer ihåg att den också brukade krångla på diverse registreringssidor.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ChristofferC
Här är ett regexp som i alla fal klarar att validera de flesta email-adresserna enligt RFC 822. Om alla skulle använda det så skulle vi slippa såna här problem.

(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?: \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:( ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0 31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\ ](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+ (?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?: (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n) ?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\ r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n) ?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t] )*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])* )(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*) *:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+ |\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r \n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?: \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t ]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031 ]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\]( ?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(? :(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(? :\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(? :(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)? [ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]| \\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<> @,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|" (?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t] )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(? :[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[ \]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000- \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|( ?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,; :\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([ ^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\" .\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\ ]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\ [\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\ r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\] |\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0 00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\ .|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@, ;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(? :[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])* (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\". \[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[ ^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\] ]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*( ?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:( ?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[ \["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t ])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t ])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(? :\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+| \Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?: [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\ ]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n) ?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[" ()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n) ?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<> @,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@, ;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t] )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)? (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\". \[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?: \r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[ "()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t]) *))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]) +|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\ .(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:( ?:\r\n)?[ \t])*))*)?;\s*)

Det där ger tillbaka många adresser som inte är intressanta, exempelviss root@localhost, det där kan inte sidan använda.

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av CLEoN
och troligtvis åäö nu när man kan köpa domäner med det..

Man får inte heller glömma alla andra länders specialtecken, i den mån de är tillåtna i domäner.

Visa signatur

Religion och vidskepelse är smittsamma psykiska sjukdomar, den biologiska motsvarigheten till datorvirus.
"-Pappa, pappa, idag firade vi födelsedag och hela dagis fick gå på McDonalds. - Vems födelsedag då? - En farbror som hette Lenin."

Permalänk
Medlem

Jag försöker använda PEARs RFC822-validator när jag kan,
läs mer här: http://pear.php.net/manual/en/package.mail.mail-rfc822.intro....

Visa signatur

Brass knuckles and a 2x4

Permalänk
Citat:

Ursprungligen inskrivet av Vijjje
Det där ger tillbaka många adresser som inte är intressanta, exempelviss root@localhost, det där kan inte sidan använda.

Vad är du så ledsen över?

Permalänk
Medlem

äh... men hmm... jaha.. vad kan man kräva då? Att det finns ett (och endast 1) @ med andra tecken på båda sidor?

Grejjen är den att jag bygger ett community där folk kommer skriva i en del mysko information när de registrerar sig (jag har haft två communityn förut, så jag vet hur det blir), så jag vill att scriptet direkt ska kasta sig på dem som gör fel. Mene... Naturligtvis lär folk acceptera registreringen mha ett mail, men folk kommer göra fulregistreringar ändå, och man blir bara sååå matt på dem.

Nu är mina script som analyserar alla fält de fyller i väldigt stränga, precis varenda fält har någon form av kontroll, visa mer stränga än andra. Men men... Jag får väl skära ned på emailverifieringen.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av totoo
äh... men hmm... jaha.. vad kan man kräva då? Att det finns ett (och endast 1) @ med andra tecken på båda sidor?

Grejjen är den att jag bygger ett community där folk kommer skriva i en del mysko information när de registrerar sig (jag har haft två communityn förut, så jag vet hur det blir), så jag vill att scriptet direkt ska kasta sig på dem som gör fel. Mene... Naturligtvis lär folk acceptera registreringen mha ett mail, men folk kommer göra fulregistreringar ändå, och man blir bara sååå matt på dem.

Nu är mina script som analyserar alla fält de fyller i väldigt stränga, precis varenda fält har någon form av kontroll, visa mer stränga än andra. Men men... Jag får väl skära ned på emailverifieringen.

Följ länken jag postade där ovan, jag har inte hört mycket negativt om det PEAR-paketet. Och om jag inte missminner mig så utvecklar du ditt community i PHP?

Visa signatur

Brass knuckles and a 2x4

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av totoo
äh... men hmm... jaha.. vad kan man kräva då? Att det finns ett (och endast 1) @ med andra tecken på båda sidor?

Grejjen är den att jag bygger ett community där folk kommer skriva i en del mysko information när de registrerar sig (jag har haft två communityn förut, så jag vet hur det blir), så jag vill att scriptet direkt ska kasta sig på dem som gör fel. Mene... Naturligtvis lär folk acceptera registreringen mha ett mail, men folk kommer göra fulregistreringar ändå, och man blir bara sååå matt på dem.

Nu är mina script som analyserar alla fält de fyller i väldigt stränga, precis varenda fält har någon form av kontroll, visa mer stränga än andra. Men men... Jag får väl skära ned på emailverifieringen.

Vad gör det att de fulreggar? Du sitter väl inte manuellt och läser igenom folks regdata, annars ser du väl knappast fulreggen? Om de inte accepterat inom 24 timmar (eller whatever), så skapas det ju inget permanent konto. Dessutom hjälper ju som flera redan sagt inte ett sånt script om man bara skriver foo@bar.com i e-mailen, så vad försöker du vinna egentligen?

Visa signatur

g++

Permalänk
Medlem

nah, gör väl ingen större skillnad om kontot raderas efter 24 timmar eller nåt sånt....

Permalänk
Medlem

Vore det inte enklare att leta efter förbjuda tecken istället för efter alla tillåtna kombinationer som går att komma på?
Typ såhär, fast med fler tecken i första uttrycket...

if(ereg("\\|?|!|,|<|>|\\^") || !ereg("@")) //Ogilla else //Tycka om

...ska man försöka ta ut svängarna med ett enda gigantiskt regexp som funkar helt perfekt, kan allt och går lätt att ändra när en standard ändras så lär man ju få sitta i evigheter.

Okej, en mail-adress är utformad efter ganska enkla regler, men tydligen så lyckas ju ingen skriva ett regexp som faktiskt funkar som det ska.

Och som någon i tråden antydde: Vem bryr sig om 5% av de som skriver in en felaktig adress blir godkända?
Egentligen så kan man ju ifrågasätta hela grejen med mailverifiering och verifieringsmail iom att vem som helst kan hitta på en mailadress eller skapa en som bara används en gång och sedan aldrig kollas, men det kanske vore lite off-topic...

Visa signatur

Läs en bok för fan...

Permalänk
Medlem

Om man ska leta tecken ska man inte göra det med ereg, ty det är slött. Helst gör man det nog med en for-loop och en case. Alternativt kan man göra det med preg, för preg är snabbare än ereg.

Visa signatur

Mina boktips: Clean codeHead First Design PatternsHead First Object-oriented Analysis and Design
Innovation distinguishes between a leader and a follower. — Steve Jobs

Permalänk

Aldrig varit med om problem med understräck i min epost-adress. Dock var jag inne på ett forum härom dan som inte tillät hotmail.com, dom fick inte mig som medlem iaf.

Visa signatur

*** Signaturen raderad på grund av för många rader. Läs forumreglerna. /xphaze

Permalänk
Medlem

Alltså tycker också det är lite inflation i regexp. Är det ens till för detta? En kod på 10 rader i python skulle vara 100 gånger bättre, och vara väldigt enkel att ändra eftersom man då kan ha en lista med tecken som är tillåtna (med ranges) eller icke tillåtna.

Visa signatur

g++