<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I agree with Jordyn<div class="">because it happens time and time again.</div><div class="">remember when SLDs and TLDs couldn’t start with a digit? &nbsp;then <a href="http://3m.com" class="">3m.com</a> came along and RFC was changed.</div><div class="">remember the acceptance problem .info had when it went live because it was 4 characters?</div><div class="">now we are discussing the 2 character issue and guess what… IDNs. &nbsp;maybe we’ll have 1 character TLDs soon.</div><div class="">what about all-numeric TLDs? &nbsp;can’t have that currently (i forget which RFC) because IP address right? &nbsp;what if the SLD is not solely digits? &nbsp;then maybe. &nbsp;who knows</div><div class="">Tim Berners-Lee regrets “<a href="http://xn--hvg" class="">http://“</a> for gods sake. &nbsp;maybe that will change too someday.</div><div class="">Jon Postel said be liberal in what you accept from the universe and conservative in what you send out to the universe (i forget exact quote). &nbsp;I think that applies here.</div><div class="">do not restrict what’s accepted. &nbsp;the restriction will change and then we’re screwed… again.</div><div class=""><br class=""><div class=""><div><blockquote type="cite" class=""><div class="">On Sep 14, 2017, at 11:07 AM, M3 Sweatt &lt;<a href="mailto:msweatt@microsoft.com" class="">msweatt@microsoft.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Adding this back to the main thread (sorry)<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class="">From:</b><span class="Apple-converted-space">&nbsp;</span>Jordyn Buchanan<span class="Apple-converted-space">&nbsp;</span><br class=""><b class="">Sent:</b><span class="Apple-converted-space">&nbsp;</span>Thursday, September 14, 2017 10:51 AM<br class=""><b class="">To:</b><span class="Apple-converted-space">&nbsp;</span>M3 Sweatt<span class="Apple-converted-space">&nbsp;</span><br class=""><b class="">Cc:</b><span class="Apple-converted-space">&nbsp;</span>Rubens Kuhl<span class="Apple-converted-space">&nbsp;</span><br class=""><b class="">Subject:</b><span class="Apple-converted-space">&nbsp;</span>Re: [UA-discuss] Regular Expression<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">I have no idea, and that's the point.&nbsp; But probably people writing the current regexps weren't anticipating EAI or even IDN TLDs generally, and when there were only a handful of gTLDs that hadn't changed since RFC 1591 was written it probably seemed reasonable to hard code the white list.<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">So I'd rather avoid baking in assumptions about what types of addresses are likely to work in the future where the implementation is separate from the infrastructure that actually handles the delivery of mail.&nbsp; That way we don't increase the number of lines of code we have to touch next time we want to change the set of valid e-mail addresses.<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Jordyn<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">On Thu, Sep 14, 2017 at 1:43 PM, M3 Sweatt wrote:<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><a href="mailto:jordyn@google.com" target="_blank" style="color: purple; text-decoration: underline;" class=""><span style="text-decoration: none;" class="">@Jordyn Buchanan</span></a>, thanks for the perspective.<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">What do you mean that the “rules may change again”?<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div class=""><div style="border-style: solid none none; border-top-color: rgb(225, 225, 225); border-top-width: 1pt; padding: 3pt 0in 0in;" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class="">From:</b><span class="Apple-converted-space">&nbsp;</span><a href="mailto:ua-discuss-bounces@icann.org" class="">ua-discuss-bounces@icann.org</a> [<a href="mailto:ua-discuss-bounces@icann.org" class="">mailto:ua-discuss-bounces@icann.org</a>]<span class="Apple-converted-space">&nbsp;</span><b class="">On Behalf Of<span class="Apple-converted-space">&nbsp;</span></b>Paul Stahura<br class=""><b class="">Sent:</b><span class="Apple-converted-space">&nbsp;</span>Thursday, September 14, 2017 10:46 AM<br class=""><b class="">To:</b><span class="Apple-converted-space">&nbsp;</span>Jordyn Buchanan &lt;<a href="mailto:jordyn@google.com" class="">jordyn@google.com</a>&gt;<br class=""><b class="">Cc:</b><span class="Apple-converted-space">&nbsp;</span>Universal Acceptance &lt;<a href="mailto:ua-discuss@icann.org" class="">ua-discuss@icann.org</a>&gt;<br class=""><b class="">Subject:</b><span class="Apple-converted-space">&nbsp;</span>Re: [UA-discuss] Regular Expression<o:p class=""></o:p></div></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">I totally agree with Jordyn&nbsp;<o:p class=""></o:p></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">and Mark "Just capture the string and send a test message.”<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div class=""><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">On Sep 14, 2017, at 10:38 AM, Jordyn Buchanan via UA-discuss &lt;<a href="mailto:ua-discuss@icann.org" style="color: purple; text-decoration: underline;" class="">ua-discuss@icann.org</a>&gt; wrote:<o:p class=""></o:p></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Also worth remembering that "works according to the universe at the moment the RegExp was written" is how we got into a lot of today's UA mess in the first place.&nbsp; Just because dotless domains or some other rule is in place today, I'd want to avoid encoding them into a regexp that we tell people to use since the rules may change again and I don't want to have another group following along in our wake 10 years from now trying to undo the code that we told everyone to write.<o:p class=""></o:p></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Jordyn<o:p class=""></o:p></div></div></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class="">&nbsp;</o:p></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">On Thu, Sep 14, 2017 at 1:27 PM, Rubens Kuhl &lt;<a href="mailto:rubensk@nic.br" target="_blank" style="color: purple; text-decoration: underline;" class="">rubensk@nic.br</a>&gt; wrote:<o:p class=""></o:p></div><blockquote style="border-style: none none none solid; border-left-color: rgb(204, 204, 204); border-left-width: 1pt; padding: 0in 0in 0in 6pt; margin-left: 4.8pt; margin-right: 0in;" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><br class="">The BiDi issue suggests to me that even enforcing the non-dotless rule is too much for a simple regex, as<span class="Apple-converted-space">&nbsp;</span><a href="mailto:shabaka.example@don" style="color: purple; text-decoration: underline;" class="">shabaka.example@don</a><span class="Apple-converted-space">&nbsp;</span>is a valid Arabic EAI , while the same ASCII combination is not valid even if a .don TLD gets delegated.<br class="">[non-empty]@[non-empty] looks better to me.<br class=""><span style="color: rgb(136, 136, 136);" class=""><br class=""><br class=""><span class="hoenzb">Rubens</span></span><o:p class=""></o:p></div><div class=""><div class=""><p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 11pt; font-family: Calibri, sans-serif;"><br class=""><br class=""><br class=""><br class=""><br class=""><br class=""><br class=""><br class="">&gt; Em 14 de set de 2017, à(s) 13:58:000, Don Hollander &lt;<a href="mailto:don.hollander@icann.org" style="color: purple; text-decoration: underline;" class="">don.hollander@icann.org</a>&gt; escreveu:<br class="">&gt;<br class="">&gt; Thanks Jim.<br class="">&gt;<br class="">&gt; The BiDi issue, with raw data input, is which side has the domain side.<br class="">&gt;<br class="">&gt; usually you’ll encounter<span class="Apple-converted-space">&nbsp;</span><a href="mailto:mailbox@domainname.tld" style="color: purple; text-decoration: underline;" class="">mailbox@domainname.tld</a><br class="">&gt;<br class="">&gt; But in Arabic or Hebrew you’ll encounter<span class="Apple-converted-space">&nbsp;</span><a href="mailto:tld.domainname@mailbox" style="color: purple; text-decoration: underline;" class="">tld.domainname@mailbox</a><br class="">&gt;<br class="">&gt; Don<br class="">&gt;<br class="">&gt;<br class="">&gt;&gt; On 15/09/2017, at 3:44 AM, Jim Hague &lt;<a href="mailto:jim@sinodun.com" style="color: purple; text-decoration: underline;" class="">jim@sinodun.com</a>&gt; wrote:<br class="">&gt;&gt;<br class="">&gt;&gt; On 12/09/2017 19:44, Don Hollander wrote:<br class="">&gt;&gt;&gt; One RegEx has stood out as being simple and correct.&nbsp; &nbsp;I’d like the UASG<br class="">&gt;&gt;&gt; to consider recommending this in our documentation.&nbsp; &nbsp;Toward that end,<br class="">&gt;&gt;&gt; this thread is for discussion.<br class="">&gt;&gt;&gt;<br class="">&gt;&gt;&gt;<span class="Apple-converted-space">&nbsp;</span><a href="mailto:/%5e.+@(?:[%5e.]+\.)+(?:%5b%5e.%5d%7b2,%7d)$" style="color: purple; text-decoration: underline;" class="">/^.+@(?:[^.]+\.)+(?:[^.]{2,})$</a><br class="">&gt;&gt;&gt;<br class="">&gt;&gt;&gt; Regular expression check in Javascript. This accepts any Unicode<br class="">&gt;&gt;&gt; characters, only insisting that the domain must have more than one label<br class="">&gt;&gt;&gt; and the TLD is 2 characters or longer.<br class="">&gt;&gt;<br class="">&gt;&gt; Note that this in the context of an in-browser check. I only examined a<br class="">&gt;&gt; small random subset of the sites surveyed in the main evaluation, and<br class="">&gt;&gt; obviously without access to server code could only examine client-side<br class="">&gt;&gt; operations. In all the sites I examined, the only check performed was<br class="">&gt;&gt; against one (or in one case two) regular expression(s). No decomposition<br class="">&gt;&gt; of the email address was attempted, and certainly no translation of the<br class="">&gt;&gt; domain to Punycode.<br class="">&gt;&gt;<br class="">&gt;&gt; It was in that context that I highlighted the above regex, on the basis<br class="">&gt;&gt; that it's probably the only sensible option to suggest to organisations<br class="">&gt;&gt; as a low-impact UA improvement (I won't say fix) at the moment. If a<br class="">&gt;&gt; future evaluation exercise verifies that an existing Javascript module<br class="">&gt;&gt; does the right thing, that would be a better alternative, but that would<br class="">&gt;&gt; involve more substantial modifications to site code.<br class="">&gt;&gt;<br class="">&gt;&gt; I agree that modifying it to allow 1 character TLDs would be sensible.<br class="">&gt;&gt;<br class="">&gt;&gt; I also agree with the page referenced at the start of the thread (which<br class="">&gt;&gt; I read before working on the report) that just checking for '@' is about<br class="">&gt;&gt; all one should attempt, certainly client-side.<br class="">&gt;&gt;<br class="">&gt;&gt; Turning again to the above regex, of course, being a proposed regex for<br class="">&gt;&gt; validating email addresses, it's got an obvious deficiency. It needs to<br class="">&gt;&gt; add support for other label separators (e.g. open dot).<br class="">&gt;&gt;<br class="">&gt;&gt; Mark Svancarek raised the excellent point of bidi in the domain.<br class="">&gt;&gt; Personally I'm not confident I understand the bidi rules. But if the<br class="">&gt;&gt; regex requires at least one label separator character in the domain and<br class="">&gt;&gt; non-empty labels, will that work, given that if the regex allows 1<br class="">&gt;&gt; character TLDs then a valid TLD is simply a non-empty label?<br class="">&gt;&gt; --<br class="">&gt;&gt; Jim Hague -<span class="Apple-converted-space">&nbsp;</span><a href="mailto:jim@sinodun.com" style="color: purple; text-decoration: underline;" class="">jim@sinodun.com</a>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Never trust a computer you can't lift.<br class="">&gt;<br class="">&gt; Don Hollander<br class="">&gt; Universal Acceptance Steering Group<br class="">&gt; Skype: don_hollander<br class="">&gt;<br class="">&gt;<br class="">&gt;</p></div></div></blockquote></div></div></div></blockquote></div></div></div></div></blockquote></div><br class=""></div></div></body></html>