From 69881b6992f014e314719fad4f60a42d10e2a080 Mon Sep 17 00:00:00 2001 From: Anirudh Giri <35490486+anirudhgiri@users.noreply.github.com> Date: Sun, 26 Sep 2021 21:37:10 +0530 Subject: [PATCH] feat(isPassportNumber): fix regex for CN (#1714) * fix: (isPassportNumber) fix regex for CN * feat(isPassportNumber): fix regex for CN (validatorjs#1686) --- src/lib/isPassportNumber.js | 2 +- test/validators.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/isPassportNumber.js b/src/lib/isPassportNumber.js index b283a274a..76284b12f 100644 --- a/src/lib/isPassportNumber.js +++ b/src/lib/isPassportNumber.js @@ -17,7 +17,7 @@ const passportRegexByCountryCode = { BY: /^[A-Z]{2}\d{7}$/, // BELARUS CA: /^[A-Z]{2}\d{6}$/, // CANADA CH: /^[A-Z]\d{7}$/, // SWITZERLAND - CN: /^[GE]\d{8}$/, // CHINA [G=Ordinary, E=Electronic] followed by 8-digits + 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 CZ: /^\d{8}$/, // CZECH REPUBLIC DE: /^[CFGHJKLMNPRTVWXYZ0-9]{9}$/, // GERMANY diff --git a/test/validators.js b/test/validators.js index 359ec2c78..44ce4ce7c 100644 --- a/test/validators.js +++ b/test/validators.js @@ -2475,9 +2475,15 @@ describe('Validators', () => { valid: [ 'G25352389', 'E00160027', + 'EA1234567', ], invalid: [ 'K0123456', + 'E-1234567', + 'G.1234567', + 'GA1234567', + 'EI1234567', + 'GO1234567', ], });