Danes sem ga moral nekoliko kopati, a ste vedeli, kakšna je veljavna dolžina e-poštnega naslova? Pravzaprav je razdeljen na dele ... Ime@Domena.com. To je po RFC2822.
- Ime je lahko od 1 do 64 znakov.
- Domena lahko vsebuje od 1 do 255 znakov.
Vau ... to pomeni, da je to lahko veljaven e-poštni naslov:
loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com
Poskusite to namestiti na vizitko! Ironično je, da je večina polj e-poštnih naslovov v spletu omejena na 100 znakov. To dejansko ne velja. Če želite potrditi e-poštni naslov za pravilno izdelavo s pomočjo PHP, sem v spletu našel ta delček:
http://derrick.pallas.us/email-validator/ # Licenca: Academic Free License 2.1 # Različica: 2006-12-01a if (! ereg (''. '^'. '[-! # $% & \ '* + / 0-9 =? AZ ^ _a-z {|} ~]'. '(\\.? [-! # $% & \' * + / 0-9 =? AZ ^ _a-z { |} ~]) * '.' @ '.' [a-zA-Z] (-? [a-zA-Z0-9]) * '.' (\\. [a-zA-Z] (- ? [a-zA-Z0-9]) *) + '.' $ ', $ email)) return false; seznam ($ local, $ domain) = split ("@", $ email, 2); če (strlen ($ local)> 64 || strlen ($ domena)> 255) vrne false; če ($ check &&! gethostbynamel ($ domena)) vrne false; vrni res; # END ######}
Vesel sem, da se je komu to zdelo koristno! Iskanje v Googlu za »regularni izraz e-pošte« razkrije veliko regularnih izrazov, ki se ne sinhronizirajo z RFC.
Da, opazil sem, da tudi druge rešitve niso skladne z RFC. Opazil pa sem, da je tudi ta regularni izraz netipičen in ni standarden. Spomnim se, da sem prebral dejanski regularni izraz (dovoljevanje <,>, itd.) Je preveč intenziven za večino procesov.
Vendar je napisan jedrnato in zagotovo rešitev, ki bi morala biti sprejemljiva za vsako aplikacijo za e-pošto v podjetju.
Hvala še enkrat!
Doug
Na žalost sem to stran povezal z napačnim RFC (2821 namesto 2822), vendar je bilo to popravljeno. Kotne oklepaje ne morejo biti del lokalnih ali domenskih delov e-poštnega naslova; Predstavljajo točke za tokenizacijo, torej jih je mogoče uporabiti za obdajanje e-poštnega naslova (na primer v vašem bralniku pošte), ravno zato, ker ne morejo biti del naslova.
Ena stvar, ki je moja funkcija ni, je skrb glede citirane oblike e-poštnih naslovov - tam, kjer je lokalni del v dvojnih narekovajih -, ker RFC2821 v bistvu pravi, da nikomur ne bi smelo biti treba pisati svojega naslova na tak način. (Menim, da je obrazec za združljivost nazaj in je zdaj slaba praksa.)
Pravzaprav je RFC2821 pravilna referenca za dolžino e-poštnega naslova. Tam sem ga našel, toda ne v RFC 2822.
V RFC 2821 je omejitev dolžine naslova v ukazih MAIL in RCPT z 256 znaki. Za zgornjo mejo dolžin naslovov je običajno treba šteti 256.
- Vir: RFC 3696 Napaka
Ker RFC 2181 pravi »Polno ime domene je omejeno na 255 oktetov«, ga ljudje (vključno s pisci drugih RFC) večkrat napačno razlagajo tako, da lahko domenska imena vsebujejo 255 znakov. Toda RFC2181 govori o predstavitvi na ravni žice DNS protokola in ne o znakih, ki jih je mogoče tiskati.
Največja dolžina imena domene je 253 znakov (254 vključno s končno piko, 255 oktetov na žici s končno ničelno vrednostjo). In to izvajata BIND in DiG.
Razvijalci, ki so podcenjevali potencialne velikosti e-poštnih naslovov, so povzročili nekaj težav: http://www.eph.co.uk/resources/email-address-le...
Mislim, da če je vaš e-poštni naslov nekaj malega, na primer »jack1983@aol.com«, se vam zdi, da je celo 30 znakov radodarno.
Oprostite, zgornji URL je pokvarjen ...
Razvijalci, ki so podcenjevali potencialne velikosti e-poštnih naslovov, so povzročili nekaj težav:
http://www.eph.co.uk/resources/email-address-leng...
Mislim, da če je vaš e-poštni naslov nekaj malega, na primer "jack1983@aol.com", se vam morda zdi, da je celo 30 znakov radodarno.
Pravkar sem našel to objavo ... smešno. Zdaj me zanima, če lahko registriram to domeno lol.