07. januar 2003 - 23:35Der er
29 kommentarer og 1 løsning
Hvad er gyldig e-mail syntaks ?
Subject. Jeg skal til at lave validator, men kom til at tænke på subject. Er a@a.aa fx gyldig eller skal der være flere tegn før og efter @ ?? Og hvor lange er domæne endelserne efterhånden ? Jeg har jo hørt om .museum her på experten.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hehehehe .... Har kigget på den, men spørgsmålet går jo på noget lidt andet : ) At lave validator´en er ikke et problem - jeg skal bare vide præcist hvad den skal validere for :)
Det er sådan jeg ville validere en mail, endda med support for .nu domains (læg mærke til at det kun er den første funktion der har med e-mails at gøre)
Landekoder (ISO 3166) Afghanistan AF AD Andorra Albania AL AE United Arab Emirates Algeria DZ AF Afghanistan American Samoa AS AG Antigua and Barbuda Andorra AD AI Anguilla Angola AO AL Albania Anguilla AI AM Armenia Antarctica AQ AN Netherlands Antilles Antigua and Barbuda AG AO Angola Argentina AR AQ Antarctica Armenia AM AR Argentina Aruba AW AS American Samoa Australia AU AT Austria Austria AT AU Australia Azerbaijan AZ AW Aruba Bahamas BS AZ Azerbaijan Bahrain BH BA Bosnia and Herzegovina Bangladesh BD BB Barbados Barbados BB BD Bangladesh Belarus BY BE Belgium Belgium BE BF Burkina Faso Belize BZ BG Bulgaria Benin BJ BH Bahrain Bermuda BM BI Burundi Bhutan BT BJ Benin Bolivia BO BM Bermuda Bosnia and Herzegovina BA BN Brunei Darussalam Botswana BW BO Bolivia Bouvet Island BV BR Brazil Brazil BR BS Bahamas British Indian Ocean Terr. IO BT Bhutan Brunei Darussalam BN BV Bouvet Island Bulgaria BG BW Botswana Burkina Faso BF BY Belarus Burundi BI BZ Belize Cambodia KH CA Canada Cameroon CM CC Cocos (keeling) Islands Canada CA CD Congo, The Dem. Rep. of The Cape Verde CV CF Central African Rep. Cayman Islands KY CG Congo Central African Rep. CF CH Switzerland Chad TD CI Cote D'ivoire Chile CL CK Cook Islands China CN CL Chile Christmas Island CX CM Cameroon Cocos (keeling) Islands CC CN China Colombia CO CO Colombia Comoros KM CR Costa Rica Congo CG CU Cuba Congo, The Dem. Rep. of The CD CV Cape Verde Cook Islands CK CX Christmas Island Costa Rica CR CY Cyprus Cote D'ivoire CI CZ Czech Rep. Croatia HR DE Germany Cuba CU DJ Djibouti Cyprus CY DK Danmark Czech Rep. CZ DM Dominica Danmark DK DO Dominican Rep. Djibouti DJ DZ Algeria Dominica DM EC Ecuador Dominican Rep. DO EE Estonia East Timor TP EG Egypt Ecuador EC EH Western Sahara Egypt EG ER Eritrea El Salvador SV ES Spain Equatorial Guinea GQ ET Ethiopia Eritrea ER FI Finland Estonia EE FJ Fiji Ethiopia ET FK Falkland Islands (Malvinas) Falkland Islands (Malvinas) FK FM Micronesia, Fed. States of Faroe Islands FO FO Faroe Islands Fiji FJ FR France Finland FI GA Gabon France FR GB United Kingdom French Guiana GF GD Grenada French Polynesia PF GE Georgia French Southern Territories TF GF French Guiana Gabon GA GH Ghana Gambia GM GI Gibraltar Georgia GE GL Greenland Germany DE GM Gambia Ghana GH GN Guinea Gibraltar GI GP Guadeloupe Greece GR GQ Equatorial Guinea Greenland GL GR Greece Grenada GD GS South Georgia and Sandwich Is. Guadeloupe GP GT Guatemala Guam GU GU Guam Guatemala GT GW Guinea-bissau Guinea GN GY Guyana Guinea-bissau GW HK Hong Kong Guyana GY HM Heard and Mcdonald Islands Haiti HT HN Honduras Heard and Mcdonald Islands HM HR Croatia Holy See (vatican City State) VA HT Haiti Honduras HN HU Hungary Hong Kong HK ID Indonesia Hungary HU IE Ireland Iceland IS IL Israel India IN IN India Indonesia ID IO British Indian Ocean Terr. Iran, Islamic Rep. of IR IQ Iraq Iraq IQ IR Iran, Islamic Rep. of Ireland IE IS Iceland Israel IL IT Italy Italy IT JM Jamaica Jamaica JM JO Jordan Japan JP JP Japan Jordan JO KE Kenya Kazakstan KZ KG Kyrgyzstan Kenya KE KH Cambodia Kiribati KI KI Kiribati Korea, Dem. People's Rep. of KP KM Comoros Korea, Rep. of KR KN Saint Kitts and Nevis Kuwait KW KP Korea, Dem. People's Rep. of Kyrgyzstan KG KR Korea, Rep. of Lao People's Dem. Rep. LA KW Kuwait Latvia LV KY Cayman Islands Lebanon LB KZ Kazakstan Lesotho LS LA Lao People's Dem. Rep. Liberia LR LB Lebanon Libyan Arab Jamahiriya LY LC Saint Lucia Liechtenstein LI LI Liechtenstein Lithuania LT LK Sri Lanka Luxembourg LU LR Liberia Macau MO LS Lesotho Macedonia, Former You. Rep. of MK LT Lithuania Madagascar MG LU Luxembourg Malawi MW LV Latvia Malaysia MY LY Libyan Arab Jamahiriya Maldives MV MA Morocco Mali ML MC Monaco Malta MT MD Moldova, Rep. of Marshall Islands MH MG Madagascar Martinique MQ MH Marshall Islands Mauritania MR MK Macedonia, Former You. Rep. of Mauritius MU ML Mali Mayotte YT MM Myanmar Mexico MX MN Mongolia Micronesia, Fed. States of FM MO Macau Moldova, Rep. of MD MP Northern Mariana Islands Monaco MC MQ Martinique Mongolia MN MR Mauritania Montserrat MS MS Montserrat Morocco MA MT Malta Mozambique MZ MU Mauritius Myanmar MM MV Maldives Namibia NA MW Malawi Nauru NR MX Mexico Nepal NP MY Malaysia Netherlands NL MZ Mozambique Netherlands Antilles AN NA Namibia New Caledonia NC NC New Caledonia New Zealand NZ NE Niger Nicaragua NI NF Norfolk Island Niger NE NG Nigeria Nigeria NG NI Nicaragua Niue NU NL Netherlands Norfolk Island NF NO Norway Northern Mariana Islands MP NP Nepal Norway NO NR Nauru Oman OM NU Niue Pakistan PK NZ New Zealand Palau PW OM Oman Palestinian Terr., Occupied PS PA Panama Panama PA PE Peru Papua New Guinea PG PF French Polynesia Paraguay PY PG Papua New Guinea Peru PE PH Philippines Philippines PH PK Pakistan Pitcairn PN PL Poland Poland PL PM Saint Pierre and Miquelon Portugal PT PN Pitcairn Puerto Rico PR PR Puerto Rico Qatar QA PS Palestinian Terr., Occupied Reunion RE PT Portugal Romania RO PW Palau Russian Federation RU PY Paraguay Rwanda RW QA Qatar Saint Helena SH RE Reunion Saint Kitts and Nevis KN RO Romania Saint Lucia LC RU Russian Federation Saint Pierre and Miquelon PM RW Rwanda Saint Vincent and Grenadines VC SA Saudi Arabia Samoa WS SB Solomon Islands San Marino SM SC Seychelles Sao Tome and Principe ST SD Sudan Saudi Arabia SA SE Sweden Senegal SN SG Singapore Seychelles SC SH Saint Helena Sierra Leone SL SI Slovenia Singapore SG SJ Svalbard and Jan Mayen Slovakia SK SK Slovakia Slovenia SI SL Sierra Leone Solomon Islands SB SM San Marino Somalia SO SN Senegal South Africa ZA SO Somalia South Georgia and Sandwich Is. GS SR Suriname Spain ES ST Sao Tome and Principe Sri Lanka LK SV El Salvador Sudan SD SY Syrian Arab Rep. Suriname SR SZ Swaziland Svalbard and Jan Mayen SJ TC Turks and Caicos Islands Swaziland SZ TD Chad Sweden SE TF French Southern Territories Switzerland CH TG Togo Syrian Arab Rep. SY TH Thailand Taiwan, Province of China TW TJ Tajikistan Tajikistan TJ TK Tokelau Tanzania, United Rep. of TZ TM Turkmenistan Thailand TH TN Tunisia Togo TG TO Tonga Tokelau TK TP East Timor Tonga TO TR Turkey Trinidad and Tobago TT TT Trinidad and Tobago Tunisia TN TV Tuvalu Turkey TR TW Taiwan, Province of China Turkmenistan TM TZ Tanzania, United Rep. of Turks and Caicos Islands TC UA Ukraine Tuvalu TV UG Uganda Uganda UG UM US Minor Outlying Islands Ukraine UA US United States United Arab Emirates AE UY Uruguay United Kingdom GB UZ Uzbekistan United States US VA Holy See (vatican City State) Uruguay UY VC Saint Vincent and Grenadines US Minor Outlying Islands UM VE Venezuela Uzbekistan UZ VG Virgin Islands, British Vanuatu VU VI Virgin Islands, U.S. Venezuela VE VN Viet Nam Viet Nam VN VU Vanuatu Virgin Islands, British VG WF Wallis and Futuna Virgin Islands, U.S. VI WS Samoa Wallis and Futuna WF YE Yemen Western Sahara EH YT Mayotte Yemen YE YU Yugoslavia Yugoslavia YU ZA South Africa Zambia ZM ZM Zambia Zimbabwe ZW ZW Zimbabwe
gTLDs .aero Aviation .biz Business Organizations .com Commercial .coop Co-Operative Organizations .edu Educational .gov US Government .info Open TLD .int International Organizations .mil US Dept of Defense .museum Museums .name Personal .net Networks .org Organizations
Tja, jeg synes der er mange e-mail validatorer der f.eks. overser .nu domæners mulighed for specialtegn som æ,ø og å og den slags. Det bedste er vel ikke at validere syntaksen (er jo svært at gøre det perfekt), men bare tjekke om e-mailen eksisterer, til det gør LJ's det jo ganske godt :)
Domænenavne under det danske top level domæne .dk kan indeholde bogstaverne fra og med a til og med z og/eller tallene fra og med 0 til og med 9 med mulighed for adskillelse med bindestreg(er) og med et karakterantal fra og med 1 til og med 63 og efterfulgt af ".dk".
>>Et domænenavn kan ikke indeholde bindestreger både som 3. og 4. karakter.<< Tager ljwebs også højde for det her ? Er det KUN .nu der kan indeholde æøå ?
Som en antydning af kompleksiteten kan jeg anføre, at bogen "Mastering Regular Expressions" indeholder et afsluttende eksempel på et regulært udtryk, der kan klare 'de fleste' email-adresser. Det er 6598 tegn langt, og forfatteren (Jeffrey Friedl) indrømmer selv, at det ikke er nok - hvilket dog skyldes, at syntaksen for mailadresser i princippet er uendeligt rekursiv, og dette er ikke håndterbart med regulære udtryk.
wave > udskældt ? hvor / hvordan - hvad menes der skal rettes ? mpless > at lave en email checker der 100% overholder alle regler og alle varianter vil jeg vove pelsen ikke er muligt at lave indenfor rimelighedens grænser - der er så mange exceptions og muligheder at man et tidspunkt må trække en linie og sige - hertil og ikke længere. Er folk *så* specielle at de anvender en af de marginalt anvendte typer, må man tilpasse sig - lidt ala man heller ikke designer til Netscape2 mere. Jeg tager dog hatten af for den, der kan skrive en checker der virker 100% i alle tilfælde.
Ok .... jeg er heller ikke ude på at lave en 100 & vandtæt løsning. Enden på det her må vist blive at lave en tjekker, der sørger for at e-mailen er nogenlunde i syntaks og derefter sender en mail, der skal bekræftes før man bliver smidt i databasen !
Tak for de mange svar. Hvem skal egenligt have pointene ?????
Så hvad er konklusionen på mit spørgsmål ?? 1-mange bogstaver/tegn før @ 1-mange bogstaver/tegn efter @ Mindst 1 . efter x antal bogstaver og (hvilke) tegn efter @ Skal slutte med mindst 2 max 6 bogstaver (ikke æøå)
Før @: -mellem 1-256 bogstaver. -bogstaverne a-z og tal 0-9 er tilladte. -det er tilladt at bruge .(punktum) -(minus/bindestreg) og _(underscor). -Dog må de tre overstående ikke være i starten eller slutningen af brugernavnet, og skal være adskildt af minimum 1 (normalt) bogstav/tal
Efter @: -mellem 1-??? bogstaver. -bogstaverne a-z og tal 0-9 er tilladte. -det er tilladt at bruge .(punktum) og -(minus/bindestreg). -Dog må de to overstående ikke være i starten eller slutningen af brugernavnet, og skal være adskildt af minimum 1 (normalt) bogstav/tal
Vi kan diskutere i det uendelige hvad vi mener er standarden, men er der ingen der ved hvem der vedligeholder standarden for emailadresser? Jeg fandt umiddelbart følgende, men der står intet om det :-/ - http://asg.web.cmu.edu/cyrus/rfc/rfc822.txt
=>ljweb: det er jo for fa'en kun en lille ting i standarden (se mit tidligere link)... der må da være en standard for det. Hvis der så skulle være usle systemer som ikke overholder standarderne, er der jo ikke andet at gøre end at dunke dem i hovedet... :)
(Min holdning: den _eneste_ vej frem, er at blive enige om nogle standarder, og så for fa'en følge dem! (Lige et slag til folk der skriver "IE-HTML" ;) ))
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.