Gå til innhold

Sjekke om epost er riktig format + norske tegn


Anbefalte innlegg

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
Videoannonse
Annonse
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;

}

?>

 

:)

Lenke til kommentar
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

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å
×
×
  • Opprett ny...