validator.js
validator.js copied to clipboard
Email validator accepts special character "¸" which should not be valid
Describe the bug
This email is invalid but the validator returns that it is valid: te¸[email protected]
Examples
// Current behaviour:
console.log(validator.isEmail('te¸[email protected]')); // => true
// Expected behaviour:
console.log(validator.isEmail('te¸[email protected]')); // => false
Additional context Validator.js version: 13.11.0 (latest)
I'm not knowledgeable enough about the exact email standards to determine if this is a bug or not, but you can set the allow_utf8_local_part option to false to mark the email address you provided as invalid.
From the README; "If allow_utf8_local_part is set to false, the validator will not allow any non-English UTF8 character in email address' local part"
Thanks @WikiRik I'll use this option. I still think it's an invalid email address in general so I guess it makes sense to show it as invalid in general but maybe it needs some more research to be sure.
I've changed allow_utf8_local_part set to false how do I test it?
I've changed allow_utf8_local_part set to false how do I test it?
Simply pass the email to the function and log it:
// allow_utf8_local_part === false:
console.log(validator.isEmail('te¸[email protected]')); // => true
// allow_utf8_local_part === true:
console.log(validator.isEmail('te¸[email protected]')); // => false
how do I log this
run*
Created pull request for the bug fix: https://github.com/validatorjs/validator.js/pull/2384