A complex regex validation on the email address doesn’t introduce an additional solution, it introduces an additional problem.find out if a user has entered a valid email address?Info provides a basic email validation regex that tries to be a little smarter: Upside: Only allows email address-friendly characters, restricts domain extension to only two to four characters.Downside: It still allows many invalid email addresses, and misses some longer domain extensions (.museum, for example).3. Meet in the middle approach You'll have to decide, if you haven't already, which regular expression to use.Specify all the domain extensions approach Reddit user teye points to his regex, which only allows domain extensions that actually exist:([a-z0-9][-a-z0-9_\ \.]*[a-z0-9])@([a-z0-9][-a-z0-9\.]*[a-z0-9]\.(arpa|root|aero|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|([0-9]\.[0-9]))Upside: It doesn't allow [email protected]! You'd have to update any time new domain extensions are announced. Likely, you'll choose somewhere in the middle of the examples we've given. Info has a good run-down of the trade-offs of different approaches.
If the character that follows @ is not an opening bracket, match one alphanumeric character with a value of A-Z, a-z, or 0-9, followed by zero or more occurrences of a hyphen, followed by zero or one alphanumeric character with a value of A-Z, a-z, or 0-9, followed by a period. To determine whether an email address is valid, pass the email address to the Mail Address. methods can be included in a library of regular expression utility methods, or they can be included as private static or instance methods in the application class.
Slightly more strict (but still simple) approach Regular-Expressions.
Do you check for an at-sign, or is it more complicated?
For many developers the answer is a regular expression, a little bit of code that can describe text patterns using wildcards and other special characters.