From 01cac5f357433d19981f048abfc8dc618f6c5736 Mon Sep 17 00:00:00 2001 From: Yarchik Date: Wed, 8 Jul 2026 17:51:59 +0100 Subject: [PATCH] fix(pe/cui): allow a letter as the optional check digit --- src/pe/cui.spec.ts | 6 ++++++ src/pe/cui.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pe/cui.spec.ts b/src/pe/cui.spec.ts index edd7d8ce..aabb650f 100644 --- a/src/pe/cui.spec.ts +++ b/src/pe/cui.spec.ts @@ -14,6 +14,12 @@ describe('pe/cui', () => { expect(result.isValid && result.compact).toEqual('101174102'); }); + it('validate:10812543-H', () => { + const result = validate('10812543-H'); + + expect(result.isValid && result.compact).toEqual('10812543H'); + }); + it('validate:1011741', () => { const result = validate('1011741'); diff --git a/src/pe/cui.ts b/src/pe/cui.ts index f3639051..43ae5b50 100644 --- a/src/pe/cui.ts +++ b/src/pe/cui.ts @@ -54,7 +54,7 @@ const impl: Validator = { if (value.length !== 8 && value.length !== 9) { return { isValid: false, error: new exceptions.InvalidLength() }; } - if (!strings.isdigits(value)) { + if (!strings.isdigits(value.substr(0, 8))) { return { isValid: false, error: new exceptions.InvalidFormat() }; }