diff --git a/src/lib/isPassportNumber.js b/src/lib/isPassportNumber.js index 92282ac78..33481e8c3 100644 --- a/src/lib/isPassportNumber.js +++ b/src/lib/isPassportNumber.js @@ -16,7 +16,7 @@ const passportRegexByCountryCode = { BG: /^\d{9}$/, // BULGARIA BR: /^[A-Z]{2}\d{6}$/, // BRAZIL BY: /^[A-Z]{2}\d{7}$/, // BELARUS - CA: /^[A-Z]{2}\d{6}$/, // CANADA + CA: /^[A-Z]{2}\d{6}$|^[A-Z]\d{6}[A-Z]{2}$/, // CANADA CH: /^[A-Z]\d{7}$/, // SWITZERLAND CN: /^G\d{8}$|^E(?![IO])[A-Z0-9]\d{7}$/, // CHINA [G=Ordinary, E=Electronic] followed by 8-digits, or E followed by any UPPERCASE letter (except I and O) followed by 7 digits CY: /^[A-Z](\d{6}|\d{8})$/, // CYPRUS diff --git a/test/validators.test.js b/test/validators.test.js index 8f3c4ab9b..0619de54e 100644 --- a/test/validators.test.js +++ b/test/validators.test.js @@ -3085,9 +3085,17 @@ describe('Validators', () => { valid: [ 'GA302922', 'ZE000509', + 'A123456AB', + 'Z556378HG', ], invalid: [ 'AB0123456', + 'AZ556378H', + '556378HCX', + '556378432', + '5563784', + '#B12345FD', + 'A43F12354', ], });