From 5d499685ef955704cfb2987a25a0a84232d28f5a Mon Sep 17 00:00:00 2001 From: Igor Guastalla Date: Sun, 17 Jan 2021 17:06:25 -0300 Subject: [PATCH] fix: add regex for union pay on forms --- stories/index.stories.js | 3 +++ tests/unit/form.vue | 3 +++ 2 files changed, 6 insertions(+) diff --git a/stories/index.stories.js b/stories/index.stories.js index e461256..03843be 100644 --- a/stories/index.stories.js +++ b/stories/index.stories.js @@ -128,6 +128,9 @@ export const DefaultComponent = () => ({ } else if ((/^3(?:0[0-5]|[68]\d)\d{0,11}$/).test(value)) { // diner's club, 14 digits this.valueFields.cardNumber = value.replace(/(\d{4})/, '$1 ').replace(/(\d{4}) (\d{6})/, '$1 $2 ') this.cardNumberMaxLength = 16 + } else if (/^62[0-9]\d*/.test(value)) { + this.valueFields.cardNumber = value.replace(/(\d{6})/, '$1 ').replace(/(\d{6}) (\d{7})/, '$1 $2 ').replace(/(\d{6}) (\d{7}) (\d{6})/, '$1 $2 $3 ').replace(/(\d{5}) (\d{5}) (\d{5}) (\d{4})/, '$1 $2 $3 $4') + this.cardNumberMaxLength = 21 } else if ((/^\d{0,16}$/).test(value)) { // regular cc number, 16 digits this.valueFields.cardNumber = value.replace(/(\d{4})/, '$1 ').replace(/(\d{4}) (\d{4})/, '$1 $2 ').replace(/(\d{4}) (\d{4}) (\d{4})/, '$1 $2 $3 ') this.cardNumberMaxLength = 19 diff --git a/tests/unit/form.vue b/tests/unit/form.vue index 2fe1843..b81c48d 100644 --- a/tests/unit/form.vue +++ b/tests/unit/form.vue @@ -169,6 +169,9 @@ export default { } else if ((/^3(?:0[0-5]|[68]\d)\d{0,11}$/).test(value)) { // diner's club, 14 digits this.valueFields.cardNumber = value.replace(/(\d{4})/, '$1 ').replace(/(\d{4}) (\d{6})/, '$1 $2 ') this.cardNumberMaxLength = 16 + } else if (/^62[0-9]\d*/.test(value)) { + this.valueFields.cardNumber = value.replace(/(\d{6})/, '$1 ').replace(/(\d{6}) (\d{7})/, '$1 $2 ').replace(/(\d{6}) (\d{7}) (\d{6})/, '$1 $2 $3 ').replace(/(\d{5}) (\d{5}) (\d{5}) (\d{4})/, '$1 $2 $3 $4') + this.cardNumberMaxLength = 21 } else if ((/^\d{0,16}$/).test(value)) { // regular cc number, 16 digits this.valueFields.cardNumber = value.replace(/(\d{4})/, '$1 ').replace(/(\d{4}) (\d{4})/, '$1 $2 ').replace(/(\d{4}) (\d{4}) (\d{4})/, '$1 $2 $3 ') this.cardNumberMaxLength = 19