From 9748088b2e7b055a8a41a7b96cd92d675e714849 Mon Sep 17 00:00:00 2001 From: Alexander Bjerkan Date: Fri, 21 Feb 2025 15:05:08 +0100 Subject: [PATCH] fix: handle 010 area codes when formatting se phone numbers --- .changeset/fifty-ads-jump.md | 14 ++++++++++++++ packages/format/src/format.test.ts | 1 + packages/format/src/se.ts | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .changeset/fifty-ads-jump.md diff --git a/.changeset/fifty-ads-jump.md b/.changeset/fifty-ads-jump.md new file mode 100644 index 0000000..75f6049 --- /dev/null +++ b/.changeset/fifty-ads-jump.md @@ -0,0 +1,14 @@ +--- +"@obosbbl/format": patch +--- + +fix formatting of Swedish phone numbers that start with the area code 010 + +Previously it didn't recognize 010 as a 3 digit area code, so the format would be wrong. + +```js +// before +formatPhoneNumber('010-1234567'); // -> 0101-23 45 67 +// after +formatPhoneNumber('010-1234567'); // -> 010-123 45 67 +``` diff --git a/packages/format/src/format.test.ts b/packages/format/src/format.test.ts index ef9a9b2..db3a649 100644 --- a/packages/format/src/format.test.ts +++ b/packages/format/src/format.test.ts @@ -50,6 +50,7 @@ describe('se', () => { ['081234567', '08-123 45 67'], ['0812345678', '08-123 456 78'], // 3 digit area code + ['010-123 45 67', '010-123 45 67'], ['03112345', '031-123 45'], ['031123456', '031-12 34 56'], ['0311234567', '031-123 45 67'], diff --git a/packages/format/src/se.ts b/packages/format/src/se.ts index 3c791df..1676762 100644 --- a/packages/format/src/se.ts +++ b/packages/format/src/se.ts @@ -11,7 +11,7 @@ const SUBSCRIBER_NUMBER_FORMATS = { // SE numbers have area codes of 2, 3 or 4 digits const TWO_DIGIT_AREA_CODE = /^08/; const THREE_DIGIT_AREA_CODE = - /^0(11|13|16|18|19|21|23|26|31|33|35|36|40|42|44|46|54|60|63|90)/; + /^0(10|11|13|16|18|19|21|23|26|31|33|35|36|40|42|44|46|54|60|63|90)/; /** * Format a phone number.