1 | "use strict";
|
2 |
|
3 | var tester = /^[-!#$%&'*+\/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-?[a-zA-Z0-9])*(\.[a-zA-Z](-?[a-zA-Z0-9])*)+$/;
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | function validate(email)
|
9 | {
|
10 | if(email.length>254)
|
11 | return false;
|
12 |
|
13 | var valid = tester.test(email);
|
14 | if(!valid)
|
15 | return false;
|
16 |
|
17 |
|
18 | var parts = email.split("@");
|
19 | if(parts[0].length>64)
|
20 | return false;
|
21 |
|
22 | var domainParts = parts[1].split(".");
|
23 | if(domainParts.some(function(part) { return part.length>63; }))
|
24 | return false;
|
25 |
|
26 | return true;
|
27 | }
|
28 |
|
29 | exports.validate = validate;
|