<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="">
... so, regex advice could be given as something like: &quot;When there are suitable constraints, as determined by the service provider or the user or a combination of both, email validation can be readily achieved using regex. Suitable constraints include restriction
 to a single language/script.&quot;
<div class=""><br class="">
</div>
<div class="">André Schappo</div>
<div class=""><br class="">
</div>
<div class="">PS. Just thinking about a web form where a user enters name, postal address, telephone number, email address ...etc... Email address validation could be performed in conjunction with the user. The form could interact with the user to determine
 the constraints, if any, for email validation. This could take the form of Q&amp;A or presentation of radio buttons for choices ...etc... So, involve the user in the process.</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 13 Sep 2017, at 11:52, Andre Schappo &lt;<a href="mailto:A.Schappo@lboro.ac.uk" class="">A.Schappo@lboro.ac.uk</a>&gt; wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">I have thought about this many times over the years and here are some of my thoughts -<br class="">
<br class="">
A lot depends on when the validation is done. If it is done at registration time then I think it is possible to use regex to validate.<br class="">
<br class="">
Take&nbsp;<a href="http://datamail.in/" class="">http://datamail.in</a>&nbsp;<a href="http://xn--wny099c.xn--3ds443g" class="">http://电邮.在线</a>&nbsp;<a href="http://xn--c2bd4bq1db8d.xn--h2brj9c" class="">http://डाटामेल.भारत</a>&nbsp;The user is explicitly selecting a language/script
 and thus constraining the Unicode characters which can be used for the local part.. For a particular language/script the IDN is fixed for that&nbsp;language/script so that leaves just the local part/ mailbox name to validate. One could use a simple regex with a
 modern Unicode aware regex engine.<br class="">
<br class="">
For a chinese local part then something like: \p{Han}&#43;<br class="">
<br class="">
or Hindi/Devanagari local part something like: \p{Devanagari}&#43;<br class="">
<br class="">
André Schappo</div>
<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On 12 Sep 2017, at 19:44, Don Hollander &lt;<a href="mailto:don.hollander@icann.org" class="">don.hollander@icann.org</a>&gt; wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Please note that this is a Geeky post - so carry on if that’s not you.
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Email validation is an area where many websites fall short as we found in our study on Website UA Readiness (nearing publication)</div>
<div class=""><br class="">
</div>
<div class="">The technologies behind these websites generally use a Regular Expression as their first line of defence against rubbish data. &nbsp; The issue is that most of these RegExs are overly restrictive.</div>
<div class=""><br class="">
</div>
<div class="">As an appendix to the Website review, we looked at some of the technologies behind the websites to see if there were common denominators for good and bad experiences.</div>
<div class=""><br class="">
</div>
<div class="">One RegEx has stood out as being simple and correct. &nbsp; I’d like the UASG to consider recommending this in our documentation. &nbsp; Toward that end, this thread is for discussion.</div>
<div class=""><br class="">
</div>
<div class="">
<div style="text-align: center; margin: 0px; line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">
/^.&#43;@(?:[^.]&#43;\.)&#43;(?:[^.]{2,})$</div>
<div style="margin: 0px; line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">
<br class="">
</div>
<div style="margin: 0px; line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">
<br class="">
</div>
<div style="margin: 0px; line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">
Regular expression check in Javascript. This accepts any Unicode characters, only insisting that the domain must have more than one label and the TLD is 2 characters or longer.&nbsp;</div>
<div style="margin: 0px; line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">
<br class="">
</div>
<div style="margin: 0px; line-height: normal; font-family: 'Helvetica Neue'; color: rgb(69, 69, 69);" class="">
Your thoughts?</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">Don Hollander
<div class="">Universal Acceptance Steering Group</div>
<div class="">Skype: don_hollander</div>
</div>
<div class=""><br class="">
</div>
<br class="Apple-interchange-newline">
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>