I have the following regex condition for email address.
var value = /^[a-zA-Z0-9._-] @[a-zA-Z0-9] \.[a-zA-Z{2,}$/
But I dont want the name to start or end with period(.) or underscore(_) or hyphen (-) and this given special characters should include in middle only.
for eg :
[email protected] Invalid
[email protected] Invalid
[email protected] Invalid
[email protected] Invalid
[email protected] Invalid
[email protected] Invalid
[email protected] Invalid
[email protected] Invalid
[email protected] Valid
[email protected] Valid
[email protected] Valid
I am trying to figure out the solution and learn in the process.
CodePudding user response:
You can use
var value = /^[a-zA-Z0-9] (?:[._-][a-zA-Z0-9] )*@[a-zA-Z0-9] \.[a-zA-Z]{2,}$/
Details:
^
- start of string[a-zA-Z0-9]
- one or more letters/digits(?:[._-][a-zA-Z0-9] )*
- zero or more occurrences of.
/_
/-
and then one or more letters/digits@
- a@
char[a-zA-Z0-9]
- one or more letters/digits\.
- a dot[a-zA-Z]{2,}
- two or more letters$
- end of string.
See the regex demo.