Gå til innhold

Sjekke om epost er riktig format + norske tegn


Anbefalte innlegg

Skrevet

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.

Videoannonse
Annonse
Skrevet

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.

Skrevet

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.

Skrevet
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) ? 0;

}

?>

 

:)

Skrevet
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.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...