filter-validate-email
Version:
Email validation compatible with PHP's filter_var($v, FILTER_VALIDATE_EMAIL)
16 lines (15 loc) • 820 B
JavaScript
import { regexpAsciiEmail, regexpUnicodeEmail } from './regexp';
export var validateEmail = function validateEmail(input) {
var unicode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
return (unicode ? validateUnicodeEmail : validateAsciiEmail)(input);
};
export var validateAsciiEmail = function validateAsciiEmail(input) {
return validate(regexpAsciiEmail, input);
};
export var validateUnicodeEmail = function validateUnicodeEmail(input) {
return validate(regexpUnicodeEmail, input);
};
export default validateEmail; // noinspection SuspiciousTypeOfGuard
var validate = function validate(regexp, input) {
return typeof input === 'string' && input.length <= 320 && regexp.test(input) && input.slice(-1) !== '\n' && encodeURIComponent(input).replace(/%../g, 'x').length <= 320;
};