Wastong Haba ng Email Address

Depositphotos 1948865 s

Kailangan kong gumawa ng paghuhukay ngayon upang hanapin ito, ngunit alam mo ba kung ano ang wastong haba ng isang email address? Talagang pinaghiwa-hiwalay ito ... Name@Domain.com. Ito ay ayon sa RFC2822.

  1. Ang pangalan ay maaaring 1 hanggang 64 na character.
  2. Ang domain ay maaaring maging 1 hanggang 255 na mga character.

Wow… nangangahulugan iyon na maaaring ito ay isang wastong email address:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPaperesqueatinciduntbadiamaidacondimn
tumarutumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Subukang ilapat iyon sa isang business card! Ironically, ang karamihan sa mga patlang ng email address ay limitado sa 100 mga character sa web. Talagang hindi wasto iyan. Kung nais mong patunayan ang isang email address para sa wastong konstruksyon na gumagamit ng PHP, nahanap ko ang snippet na ito sa net:

http://derrick.pallas.us/email-validator/ # Lisensya: Lisensyang Libreng Lisensya 2.1 # Bersyon: 2006-12-01a kung (! 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; listahan ($ lokal, $ domain) = split ("@", $ email, 2); kung (strlen ($ local)> 64 || strlen ($ domain)> 255) bumalik na hindi totoo; kung ($ check &&! gethostbynamel ($ domain)) bumalik maling; bumalik totoo; # TAPOS ### ####}

9 Comments

  1. 1
  2. 2

    Oo, napansin ko ang kakulangan ng pagsunod ng iba pang mga solusyon sa RFC din. Napansin ko, gayunpaman, na kahit ang regex na ito ay hindi tipiko at hindi ang pamantayan. Naaalala ko ang pagbabasa ng aktwal na regex (pinapayagan ang <,>,, atbp) na masyadong masinsinan para sa karamihan ng mga proseso.

    Gayunpaman, nakasulat ito nang maikli at tiyak na isang solusyon na dapat tanggapin sa anumang aplikasyon ng email sa enterprise.

    Salamat ulit!
    Doug

  3. 3

    Sa kasamaang palad, na-link ko ang pahinang iyon sa maling RFC (2821 sa halip na 2822) ngunit naitama iyon. Ang mga anggulo na bracket ay hindi maaaring maging bahagi ng mga lokal o bahagi ng domain ng isang email address; sa halip, kinakatawan nila ang mga puntong tokenization, ibig sabihin maaari silang magamit upang palibutan ang isang email address (halimbawa sa iyong mail reader) na tiyak dahil hindi sila maaaring maging bahagi ng address.

    Ang isang bagay na hindi ginagawa ng aking pagpapaandar ay mag-alala tungkol sa naka-quote na form ng mga email address - kung saan lumilitaw ang lokal na bahagi sa mga dobleng quote - dahil mahalagang sinabi ng RFC2821 na walang sinuman ang dapat magsulat ng kanilang address sa ganoong paraan. (Naniniwala ako na ang form ay para sa pabalik na pagiging tugma at ngayon ay masamang pagsasanay.)

  4. 4
  5. 5

    Mayroong paghihigpit sa RFC 2821 sa haba ng isang address sa MAIL at RCPT na mga utos na 256 na mga character. Ang itaas na limitasyon sa haba ng address ay dapat na isinasaalang-alang bilang 256.

    - Pinagmulan: RFC 3696 Errata

    Gayundin, dahil sinabi ng RFC 2181 na "Ang isang buong pangalan ng domain ay limitado sa 255 octets", paulit-ulit itong nainterpret ng mga tao (kasama ang mga manunulat ng iba pang mga RFC) na nangangahulugang ang mga pangalan ng domain ay maaaring maging 255 chars ang haba. Ngunit ang RFC2181 ay nagsasalita tungkol sa representasyon sa antas ng protokol na DNS sa wire, hindi mai-print na mga character.

    Ang maximum na haba ng isang domain name ay 253 chars (254 kasama ang trailing dot, 255 octets sa wire na may terminating null). At iyon ang ipinatutupad ng BIND at DiG.

  6. 6
  7. 7
  8. 8

Ano sa tingin ninyo?

Ang site na ito ay gumagamit ng Akismet upang mabawasan ang spam. Alamin kung paano naproseso ang data ng iyong komento.