WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Godkända emailtecken (https://www.wn.se/forum/showthread.php?t=28042)

vidir 2008-03-19 09:29

Hej!

har varit för smart med ett formulär, dvs spärrat konstiga tecken osv,, men den som använder "-" bindestreck i sitt namn/alias som t.ex [email protected] spärras.

jag undra var/hur man lägger in - i koden så att den blir godkänd

if ((!ereg("^[a-zA-Z0-9_.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$", $email


Tack på förhand.

vidir 2008-03-19 10:33

glöm det.....

ändrade till
if ((!ereg("^[a-zA-Z0-9_.-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$", $email
och det funkar :-D

Jonas 2008-03-19 10:36

Detta innebär att jag kan skriva en epost adress som ser ut som följande:

qwertyuiopasdfghjklzxcvbnm1234567890...34567890-.qwertyuiopasdfghjklzxcvbnm1234567890-.

Verkar den trolig för dig?
Sedan är även åäöÅÄÖ tillåtna utom i TLDn.

Denna fungerar lite mer korrekt. Har du PHP5 så använd eregi istället. (den tillåter inte åäö jag vet)
Kod:

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

eliasson 2008-03-19 12:46

Citat:

Originally posted by Jonas@Mar 19 2008, 11:36
Denna fungerar lite mer korrekt. Har du PHP5 så använd eregi istället. (den tillåter inte åäö jag vet)
Kod:

^_a-z0-9-+._a-z0-9-+*@a-z0-9-+.a-z0-9-+*.a-z{2,4}

Den där är inte heller korrekt då en TLD kan vara längre än 4 tecken. (.travel, .museum) ;-)

Lumax 2008-03-19 12:50

Nån annan som har nån bra regexp för att validera e-postadresser?

eliasson 2008-03-19 12:52

Ska du validera på ett ordentligt sett så blir din regex väldigt lång, då du även till validera ifall TLD'n existerar osv.
Googla bara vad du letar efter så lär du hitta miljontals.

martine 2008-03-19 14:11

Citat:

Originally posted by Fredrik S@Mar 19 2008, 13:50
Nån annan som har nån bra regexp för att validera e-postadresser?
Tycker det som förekom ovan var ganska bra. Lägg till upp till 6 tecken bara så fungerar även .travel etc. Att någon skulle använda epostadresser med åäö tror jag är extremt osannolikt just nu.

Använd dessutom preg istället för ereg, det är oftast effektivare. Om du känner för det kan du ju lägga till å, ä och ö eller till och med \pL om du tror det kommer vara någon som anger adresser med svenska bokstäver.

preg_match('/^(?:[_a-z0-9-]+)(?:\.[_a-z0-9-]+)*@(?:[a-z0-9-]+)(?:\.[a-z0-9-]+)*(?:\.[a-z]{2,6})$/ui',$epost)

Säker på att det är en riktig epostadress kan man ju aldrig helt vara, det är ju bara en sannolikhetskoll…

SimonP 2008-03-19 14:20

Hmm, vilket sammanträffande, jag gjorde precis en liten sida som testar mail, finns i Feedback avdelningen...

vidir 2008-03-20 10:56

Kanon!

weirdbyte 2008-03-20 20:57

Klarar den av hello@[123.123.123.123]? Jag har för mig det är en godkänd e-post adress ;)


Alla tider är GMT +2. Klockan är nu 01:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson