Jildige lingte fan e-postadres

1948865 s

Ik moast hjoed graven dwaan om it te finen, mar wisten jo wat de jildige lingte fan in e-postadres is? It is eins ferdield yn dielen ... Namme@Domain.com, Dit is neffens RFC2822.

  1. Namme kin 1 oant 64 karakters wêze.
  2. Domein kin 1 oant 255 karakters wêze.

Wow ... dat betsjut dat dit in jildich e-postadres kin wêze:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimnn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Besykje dat op in fisitekaartsje te passen! Iroanysk binne de measte e-postadresfjilden beheind ta 100 tekens op it web. Dat is eins net jildich. As jo ​​in e-postadres wolle validearje foar in goede konstruksje mei PHP, fûn ik dit snippet op it net:

http://derrick.pallas.us/email-validator/ # Lisinsje: Akademyske fergese lisinsje 2.1 # Ferzje: 2006-12-01a as (! 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)) falsk werom; list ($ local, $ domain) = split ("@", $ email, 2); as (strlen ($ lokaal)> 64 || strlen ($ domein)> 255) falsk werom bringe; as ($ kontrôle &&! gethostbynamel ($ domein)) falsk weromkomt; weromkomme wier; # END ######}

9 Comments

  1. 1
  2. 2

    Ja, ik fernaam ek it gebrek oan neilibjen fan oare oplossingen mei de RFC. Ik haw lykwols opmurken dat sels dizze regex atypysk is en net de standert. Ik herinner my dat it lêzen fan 'e eigentlike regex (tastean fan <,>,, ensfh.) Te yntensyf is foar de measte prosessen.

    It is lykwols koart en definityf skreaun in oplossing dy't akseptabel wêze moat foar elke e-postapplikaasje foar bedriuwen.

    Nochris tank!
    doug

  3. 3

    Helaas haw ik dy side keppele oan 'e ferkearde RFC (2821 ynstee fan 2822), mar dat is korrizjearre. De hoekheakjes kinne gjin diel útmeitsje fan 'e lokale as domeindielen fan in e-postadres; leaver fertsjintwurdigje se tokenisearringspunten, dat wol sizze dat se kinne wurde brûkt om in e-postadres (bygelyks yn jo e-lêzer) te omringen, krekt om't se gjin diel fan it adres kinne wêze.

    Ien ding dat myn funksje net docht, is soargen oer de sitearre foarm fan e-postadressen - wêr't it lokale diel yn dûbele oanhellings ferskynt - om't RFC2821 yn essinsje seit dat nimmen har adres ea sa hoecht te skriuwen. (Ik leau dat it formulier is foar efterkompatibiliteit en is no minne praktyk.)

  4. 4
  5. 5

    D'r is in beheining yn RFC 2821 op 'e lingte fan in adres yn MAIL- en RCPT-kommando's fan 256 tekens. De boppeste limyt op adreslengten moat normaal wurde beskôge as 256.

    - Boarne: RFC 3696 Errata

    Om't RFC 2181 seit "In folsleine domeinnamme is beheind ta 255 oktetten", wurdt it ek hieltyd wer ferkeard ynterpreteare troch minsken (ynklusyf de skriuwers fan oare RFC's) as betsjutting dat domeinnammen 255 tekens lang kinne wêze. Mar RFC2181 praat oer fertsjintwurdiging fan DNS-protokol op 'e tried, net ôfdrukbere tekens.

    De maksimale lingte fan in domeinnamme is 253 tekens (254 ynklusyf slepende punt, 255 oktetten op 'e tried mei beëindigende nul). En dat is wat BIND en DiG ymplementearje.

  6. 6
  7. 7
  8. 8

Wat tinksto?

Dizze side brûkt Akismet om spam te ferleegjen. Learje hoe't jo kommentaargegevens ferwurke wurde.