Runar Skrevet 26. februar 2007 Del Skrevet 26. februar 2007 Jeg bruker følgene kode for å sjekke at e-posten er i riktig format ([email protected]): PHP <?php!preg_match('/^[a-z0-9._%-]+@[a-z0-9.-]+.[a-z]{2,4}$/', strtolower( $field_name ) ?> $field_name er verdien i feltet for e-post. Jeg prøvde å legge til æøå etter a-z, men det funkna dårlig. Filen er lagret i UTF-8 format. Lenke til kommentar
Svish Skrevet 27. februar 2007 Del Skrevet 27. februar 2007 Ikke testet det ut eller sett noe på det, men snublet over dette her for litt siden. kan jo hende det er dette du sliter med.. http://www.regular-expressions.info/unicode.html brukte utf-8 selv som encoding men gikk over til iso et-eller-annet-1, som også støtter æøå. php støtter for eksempel ikke utf-8. så ble mye rot.. Lenke til kommentar
Runar Skrevet 27. februar 2007 Forfatter Del Skrevet 27. februar 2007 Når jeg tenker over det, så kan man kanskje ikke ha æ, ø og å i e-postadresser uansett? Da er det vel liten vits med dette. Lenke til kommentar
-morten Skrevet 27. februar 2007 Del Skrevet 27. februar 2007 Man kan jo ha domener med æøå nå, så det finnes vel epost-adresser til de domenene. Hvorvidt støtte for det er så utbredt at det går an å bruke adressene i praksis, er jo en annen sak. Lenke til kommentar
jorgis Skrevet 28. februar 2007 Del Skrevet 28. februar 2007 Når jeg tenker over det, så kan man kanskje ikke ha æ, ø og å i e-postadresser uansett? Da er det vel liten vits med dette. 8035790[/snapback] Vil anbefale deg å lese RFC 2822 og RFC 3696, som forklarer ganske godt hva som er tillatt/ikke tillatt i epostadresser. Følgende tegn er f.eks. tillatt: "! # $ % & ' * + - / = ? ^ _ ` . { | } ~", samt at @ og en del andre tegn er tillatt hvis de escapes; "Ab#c\@def\ "@example.com er mao. en gydlig adresse. Følgende hendige kodesnutt kan brukes til å sjekke om adresser er okei; PHP <?php /** * Verifies that a string actually is an e-mail * * @param string $email * @return bool */ function is_valid_email_address($email) { $qtext = '[^x0dx22x5cx80-xff]'; $dtext = '[^x0dx5b-x5dx80-xff]'; $atom = '[^x00-x20x22x28x29x2cx2ex3a-x3c'. 'x3ex40x5b-x5dx7f-xff]+'; $quoted_pair = 'x5c[x00-x7f]'; $domain_literal = "x5b($dtext|$quoted_pair)*x5d"; $quoted_string = "x22($qtext|$quoted_pair)*x22"; $domain_ref = $atom; $sub_domain = "($domain_ref|$domain_literal)"; $word = "($atom|$quoted_string)"; $domain = "$sub_domain(x2e$sub_domain)*"; $local_part = "$word(x2e$word)*"; $addr_spec = "$local_partx40$domain"; return preg_match("!^$addr_spec$!", $email) ? 1 : 0; } ?> Lenke til kommentar
Runar Skrevet 28. februar 2007 Forfatter Del Skrevet 28. februar 2007 Følgende tegn er f.eks. tillatt: "! # $ % & ' * + - / = ? ^ _ ` . { | } ~", samt at @ og en del andre tegn er tillatt hvis de escapes; "Ab#c\@def\ "@example.com er mao. en gydlig adresse. 8045117[/snapback] Hmm, det hadde jeg aldri sett for meg. Litt rart, egentlig, men hvis det er sånn det virker så er det vel ikke noe jeg kan gjøre. Skal se om jeg tar i bruk den koden du postet Takk. Lenke til kommentar
-morten Skrevet 1. mars 2007 Del Skrevet 1. mars 2007 Også har vi jo denne flotte regexen... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå