I want regex to validate Email Address, which rejects the email addresses like 123@gmail.com
or abc-kumar@gmail.com
or Raman kumar@gmail.com
.
It allow the emails which are containing at least one character or 'combination of number & characters' for example:-
kumar123@gmail.com
, abc564@xyz.com
, kumar@outlook.com
Asked
Active
Viewed 5,052 times
3

Kumar
- 436
- 1
- 4
- 16
-
Write specific conditions for regex in your question. – Deep Kakkar Mar 18 '20 at 10:35
-
so what kind of email format should be allowed? Please mention that in question. that will be helpful for specific question – Deep Kakkar Mar 18 '20 at 10:57
-
Does this answer your question? [How to validate an email address in JavaScript](https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript) – Rashomon Mar 18 '20 at 11:20
1 Answers
3
The validation function I use:
function isEmail(email) {
var emailFormat = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/;
if (email !== '' && email.match(emailFormat)) { return true; }
return false;
}
However, in your specific case, to further filter out cases like '123@gmail.com' and 'abc-kumar@gmail.com', the regexp shall be modified a bit into:
var emailFormat = /^[a-zA-Z0-9_.+]*[a-zA-Z][a-zA-Z0-9_.+]*@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/;
or, more elegantly:
var emailFormat = /^[a-zA-Z0-9_.+]+(?<!^[0-9]*)@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/;
Reference: Regex: only alphanumeric but not if this is pure numeric

zhugen
- 240
- 3
- 11
-
-
-
Line 3 ff. can imho be simplified to `return (!! email.match(emailFormat)` (will be false on empty string, will return `true` resp. `false` on match/non-match) – Frank N Dec 29 '22 at 11:05