Balio duen helbide elektronikoaren luzera

Depositphotos 1948865 s

Aurkikuntza batzuk egin behar izan ditut gaur aurkitzeko, baina ba al zenekien zein den helbide elektronikoaren baliozko luzera? Benetan zatitan zatituta dago ... Izena@Domeinua.com. Honen arabera RFC2822.

  1. Izenak 1 eta 64 karaktere izan ditzake.
  2. Domeinuak 1-255 karaktere izan ditzake.

Aupa ... horrek esan nahi du baliozko helbide elektronikoa izan daitekeela:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Saiatu hori sartzen txartel batean sartzen! Ironikoki, helbide elektronikoko eremu gehienek 100 karaktere baino ez dituzte webean. Horrek ez du balio. PHP erabiliz eraikuntza egokia egiteko helbide elektronikoa balioztatu nahi baduzu, zatitxo hau aurkitu dut sarean:

http://derrick.pallas.us/email-validator/ # Lizentzia: Academic Free License 2.1 # Bertsioa: 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)) false return; list ($ local, $ domain) = split ("@", $ email, 2); if (strlen ($ local)> 64 || strlen ($ domain)> 255) false return; if ($ check &&! gethostbynamel ($ domain)) false itzuliko da; itzuli egia; # AMAIERA ######}

9 Comments

  1. 1
  2. 2

    Bai, ohartu nintzen RFCrekin beste irtenbide batzuk betetzen ez zirela ere. Ohartu naiz, ordea, erregex hau atipikoa dela eta ez dela estandarra. Gogoan dut benetako erregela irakurtzea (<,>, eta abar baimentzea) oso intentsiboa dela prozesu gehienetarako.

    Hala ere, enpresako posta elektronikoko aplikazioek onargarria izan beharko lukeen irtenbidea labur eta behin betiko idatzita dago.

    Eskerrik asko berriro!
    Doug

  3. 3

    Zoritxarrez, orrialde hori RFC okerrarekin lotu dut (2821 ordez 2822) baina hori zuzendu egin da. Parentesi angeluarrak ezin dira helbide elektroniko baten tokiko edo domeinu zatien zati izan; tokenizazio puntuak adierazten dituzte, hau da, helbide elektronikoa inguratzeko erabil daitezke (adibidez, zure posta irakurgailuan), hain zuzen ere, ezin direlako helbidearen parte izan.

    Nire funtzioak betetzen ez duen gauza bat da aipatutako helbide elektronikoen formaz kezkatzea - ​​tokiko zatia komatxo bikoitzekin agertzen baita - RFC2821k funtsean esaten baitu inork ez duela bere helbidea horrela idatzi behar. (Inprimakia atzera bateragarritasuna dela uste dut eta orain praktika txarra da.)

  4. 4
  5. 5

    RFC 2821ean muga bat dago 256 karaktereko helbide baten MAIL eta RCPT komandoetan. Helbideen luzeren goiko muga normalean 256 izan behar da.

    - Iturria: RFC 3696 Errata

    Gainera, RFC 2181-k "Domeinu izen osoa 255 zortzikototara mugatuta dago" dioenez, jendeak (beste RFC batzuen idazleek barne) behin eta berriz interpretatzen dute domeinu izenek 255 karaktere izan ditzaketela. RFC2181 haririk gabeko DNS protokolo mailako irudikapenaz ari da, ez inprimatzeko karaktereez.

    Domeinu izen baten gehienezko luzera 253 karakterekoa da (254 amaierako puntua barne, 255 zortzikote harilean amaierako nulua dutenak). Eta hori da BINDek eta DiG-k inplementatzen dutena.

  6. 6
  7. 7
  8. 8

Zer deritzozu?

Gune honek Akismet-ek spam erabiltzen du. Ikasi zure iruzkina nola prozesatu den.