regex - Java - Regular Expression -


i have regular expression validate email:

validemail = ^[^\\^~`'!@$#=%&*()+|{}:;,><?\"\\/\\[\\]\\\\\\s-\\.]([^\\^~`'!@$#=%&*()+|{}:;,><?\"\\/\\[\\]\\\\\\s\\.]|\\.(?!\\.+?))*[^\\^~`'!@$#=%&*()+|{}:;,><?\"\\/\\[\\]\\\\\\s-\\.]@[^\\^~`'!@$#=%&*()+|{}:;,><?\"\\/\\[\\]\\\\\\s\\.]*[^\\^~`'!@$#=%&*()+|{}:;,><?\"\\/\\[\\]\\\\\\s-\\.]\\.(?!\\.+?)[^\\^~`'!@$#=%&*()+|{}:;,><?\"\\/\\[\\]\\\\0-9\\s-\\_]{2,40}$$ 

this validation accepting eg: kate@stack---overlow.com

however want restrict domain name after @ , before . have 1 hyphen.

update:

i not prefer making check using contains rather make part of regex.

i'd recommend first validating email address javamail api, described in answer: validate e-mail field using regex. way don't have deal complicated regex handle of details of rfc 822 specification on email addresses.

once passes that, add additional check single hyphen after @ , before ., e.g.:

public boolean isvalidemail(string email) {     try {         string address = new internetaddress(email).getaddress();         return address.matches(".*@[^-]*-{0,1}[^-]*\\..*");     } catch (addressexception e) {         // should log here debugging         return false;     } } 

Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -