6

I have used below regex for email validation.

var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

How can i validate the below two email id like

  1. hello!%#%^world@gmail.com
  2. helloworld@-gmail.com

Vaild Email ids:

  1. hello-world@gmail.com
  2. hello.world@gmail.com

InVaild Email ids:

  1. hello!#%#@gmail.com
  2. helloworld@-gmail.com

Special characters should not be allow before @gmail.com

Below is my JavaScript code

var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

if (!re.test($(this).val())) {
    errmsg.push($(this).attr('placeholder') + ' is invalid');
}
Andy Storrisch
  • 115
  • 1
  • 8

1 Answers1

4

You could try the below regex to validate emails which allows only these two special symbols .,- before @ symbol.

^[^<>()[\]\\,;:\%#^\s@\"$&!@]+@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}))$

DEMO

Avinash Raj
  • 172,303
  • 28
  • 230
  • 274