ngx-iban-validator 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -3
- package/dist/iban.validator.js +103 -32
- package/dist/iban.validator.spec.d.ts +1 -0
- package/dist/iban.validator.spec.js +282 -0
- package/dist/index.js +1 -5
- package/jest.config.js +6 -0
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# IBAN Validator
|
|
2
2
|
|
|
3
|
-
IBAN Validator for your reactive Angular forms, comes without any dependencies and can be used even outside of Angular as standalone function in any JS project. It can perform format, digit and length IBAN validations.
|
|
3
|
+
IBAN Validator for your reactive Angular forms, comes without any dependencies and can be used even outside of Angular as standalone function in any JS project. It can perform format, digit and length IBAN validations. Currently supports 79 countries
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -93,14 +93,125 @@ const ibanIsInvalid = ibanValidator.validateIBAN({
|
|
|
93
93
|
}).ibanInvalid;
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
#
|
|
96
|
+
# Supported countries
|
|
97
|
+
|
|
98
|
+
| Country | Country Code | Length |
|
|
99
|
+
| ----------------------- | ------------ | ------ |
|
|
100
|
+
| Albania | AL | 28 |
|
|
101
|
+
| Andorra | AD | 24 |
|
|
102
|
+
| Austria | AT | 20 |
|
|
103
|
+
| Azerbaijan | AZ | 28 |
|
|
104
|
+
| Bahrain | BH | 22 |
|
|
105
|
+
| Belarus | BY | 28 |
|
|
106
|
+
| Belgium | BE | 16 |
|
|
107
|
+
| Bosnia and Herzegovina | BA | 20 |
|
|
108
|
+
| Brazil | BR | 29 |
|
|
109
|
+
| Bulgaria | BG | 22 |
|
|
110
|
+
| Costa Rica | CR | 22 |
|
|
111
|
+
| Croatia | HR | 21 |
|
|
112
|
+
| Cyprus | CY | 28 |
|
|
113
|
+
| Czech Republic | CZ | 24 |
|
|
114
|
+
| Denmark | DK | 18 |
|
|
115
|
+
| Dominican Republic | DO | 28 |
|
|
116
|
+
| Egypt | EG | 29 |
|
|
117
|
+
| El Salvador | SV | 28 |
|
|
118
|
+
| Estonia | EE | 20 |
|
|
119
|
+
| Faroe Islands | FO | 18 |
|
|
120
|
+
| Finland | FI | 18 |
|
|
121
|
+
| France | FR | 27 |
|
|
122
|
+
| Georgia | GE | 22 |
|
|
123
|
+
| Germany | DE | 22 |
|
|
124
|
+
| Gibraltar | GI | 23 |
|
|
125
|
+
| Greece | GR | 27 |
|
|
126
|
+
| Greenland | GL | 18 |
|
|
127
|
+
| Guatemala | GT | 28 |
|
|
128
|
+
| Vatican | VA | 22 |
|
|
129
|
+
| Hungary | HU | 28 |
|
|
130
|
+
| Iceland | IS | 26 |
|
|
131
|
+
| Iraq | IQ | 23 |
|
|
132
|
+
| Ireland | IE | 22 |
|
|
133
|
+
| Israel | IL | 23 |
|
|
134
|
+
| Italy | IT | 27 |
|
|
135
|
+
| Jordan | JO | 30 |
|
|
136
|
+
| Kazakhstan | KZ | 20 |
|
|
137
|
+
| Kosovo | XK | 20 |
|
|
138
|
+
| Kuwait | KW | 30 |
|
|
139
|
+
| Latvia | LV | 21 |
|
|
140
|
+
| Lebanon | LB | 28 |
|
|
141
|
+
| Libya | LY | 25 |
|
|
142
|
+
| Liechtenstein | LI | 21 |
|
|
143
|
+
| Lithuania | LT | 20 |
|
|
144
|
+
| Luxembourg | LU | 20 |
|
|
145
|
+
| Malta | MT | 31 |
|
|
146
|
+
| Mauritania | MR | 27 |
|
|
147
|
+
| Mauritius | MU | 30 |
|
|
148
|
+
| Moldova | MD | 24 |
|
|
149
|
+
| Monaco | MC | 27 |
|
|
150
|
+
| Montenegro | ME | 22 |
|
|
151
|
+
| Netherlands | NL | 18 |
|
|
152
|
+
| North Macedonia | MK | 19 |
|
|
153
|
+
| Norway | NO | 15 |
|
|
154
|
+
| Pakistan | PK | 24 |
|
|
155
|
+
| Palestine | PS | 29 |
|
|
156
|
+
| Poland | PL | 28 |
|
|
157
|
+
| Portugal | PT | 25 |
|
|
158
|
+
| Qatar | QA | 29 |
|
|
159
|
+
| Romania | RO | 24 |
|
|
160
|
+
| Saint Lucia | LC | 32 |
|
|
161
|
+
| San Marino | SM | 27 |
|
|
162
|
+
| Sao Tome and Principe | ST | 25 |
|
|
163
|
+
| Saudi Arabia | SA | 24 |
|
|
164
|
+
| Serbia | RS | 22 |
|
|
165
|
+
| Seychelles | SC | 31 |
|
|
166
|
+
| Slovak Republic | SK | 24 |
|
|
167
|
+
| Slovenia | SI | 19 |
|
|
168
|
+
| Spain | ES | 24 |
|
|
169
|
+
| Sudan | SD | 18 |
|
|
170
|
+
| Sweden | SE | 24 |
|
|
171
|
+
| Switzerland | CH | 21 |
|
|
172
|
+
| Timor-Leste | TL | 23 |
|
|
173
|
+
| Tunisia | TN | 24 |
|
|
174
|
+
| Turkey | TR | 26 |
|
|
175
|
+
| Ukraine | UA | 29 |
|
|
176
|
+
| United Arab Emirates | AE | 23 |
|
|
177
|
+
| United Kingdom | GB | 22 |
|
|
178
|
+
| Virgin Islands, British | VG | 24 |
|
|
179
|
+
|
|
180
|
+
# Development
|
|
181
|
+
|
|
182
|
+
## Install dependencies
|
|
97
183
|
|
|
98
184
|
```bash
|
|
99
185
|
npm i
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Test
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
npm run test
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Build
|
|
195
|
+
|
|
196
|
+
```bash
|
|
100
197
|
npx tsc
|
|
101
198
|
```
|
|
102
199
|
|
|
103
|
-
# v 1.
|
|
200
|
+
# v 1.1.4
|
|
201
|
+
|
|
202
|
+
Avoid Angular warnings for old CommonJS module usage (see https://angular.io/guide/build#configuring-commonjs-dependencies)
|
|
203
|
+
|
|
204
|
+
Replaced mocha and chai with JEST for tests
|
|
205
|
+
|
|
206
|
+
# v 1.1.3
|
|
207
|
+
|
|
208
|
+
Added support for new countries Vatican, Libya, Sao Tome and Principe, Sudan
|
|
209
|
+
Updated length for LC Saint Lucia from 30 to 32
|
|
210
|
+
|
|
211
|
+
Added Tests
|
|
212
|
+
Added Mocha and Chai for testing
|
|
213
|
+
|
|
214
|
+
# v 1.1.2
|
|
104
215
|
|
|
105
216
|
Updated length for CR to 22 - @freddy36
|
|
106
217
|
|
package/dist/iban.validator.js
CHANGED
|
@@ -1,26 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
export function validateIBAN(control) {
|
|
2
|
+
const codeLengths = {
|
|
3
|
+
AD: 24,
|
|
4
|
+
AE: 23,
|
|
5
|
+
AL: 28,
|
|
6
|
+
AT: 20,
|
|
7
|
+
AZ: 28,
|
|
8
|
+
BA: 20,
|
|
9
|
+
BE: 16,
|
|
10
|
+
BG: 22,
|
|
11
|
+
BH: 22,
|
|
12
|
+
BR: 29,
|
|
13
|
+
BY: 28,
|
|
14
|
+
CH: 21,
|
|
15
|
+
CR: 22,
|
|
16
|
+
CY: 28,
|
|
17
|
+
CZ: 24,
|
|
18
|
+
DE: 22,
|
|
19
|
+
DK: 18,
|
|
20
|
+
DO: 28,
|
|
21
|
+
EE: 20,
|
|
22
|
+
EG: 29,
|
|
23
|
+
ES: 24,
|
|
24
|
+
LC: 32,
|
|
25
|
+
LY: 25,
|
|
26
|
+
FI: 18,
|
|
27
|
+
FO: 18,
|
|
28
|
+
FR: 27,
|
|
29
|
+
GB: 22,
|
|
30
|
+
GI: 23,
|
|
31
|
+
GL: 18,
|
|
32
|
+
GE: 22,
|
|
33
|
+
GR: 27,
|
|
34
|
+
GT: 28,
|
|
35
|
+
HR: 21,
|
|
36
|
+
HU: 28,
|
|
37
|
+
IE: 22,
|
|
38
|
+
IL: 23,
|
|
39
|
+
IS: 26,
|
|
40
|
+
IT: 27,
|
|
41
|
+
IQ: 23,
|
|
42
|
+
JO: 30,
|
|
43
|
+
KW: 30,
|
|
44
|
+
KZ: 20,
|
|
45
|
+
LB: 28,
|
|
46
|
+
LI: 21,
|
|
47
|
+
LT: 20,
|
|
48
|
+
LU: 20,
|
|
49
|
+
LV: 21,
|
|
50
|
+
MC: 27,
|
|
51
|
+
MD: 24,
|
|
52
|
+
ME: 22,
|
|
53
|
+
MK: 19,
|
|
54
|
+
MR: 27,
|
|
55
|
+
MT: 31,
|
|
56
|
+
MU: 30,
|
|
57
|
+
NL: 18,
|
|
58
|
+
NO: 15,
|
|
59
|
+
PK: 24,
|
|
60
|
+
PL: 28,
|
|
61
|
+
PS: 29,
|
|
62
|
+
PT: 25,
|
|
63
|
+
QA: 29,
|
|
64
|
+
RO: 24,
|
|
65
|
+
RS: 22,
|
|
66
|
+
SA: 24,
|
|
67
|
+
SC: 31,
|
|
68
|
+
SD: 18,
|
|
69
|
+
SE: 24,
|
|
70
|
+
SI: 19,
|
|
71
|
+
SK: 24,
|
|
72
|
+
SM: 27,
|
|
73
|
+
ST: 25,
|
|
74
|
+
SV: 28,
|
|
75
|
+
TL: 23,
|
|
76
|
+
TN: 24,
|
|
77
|
+
TR: 26,
|
|
78
|
+
UA: 29,
|
|
79
|
+
XK: 20,
|
|
80
|
+
VA: 22,
|
|
81
|
+
VG: 24,
|
|
11
82
|
};
|
|
12
83
|
if (control.value) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
84
|
+
const iban = control.value.toUpperCase().replace(/[^A-Z0-9]/g, '');
|
|
85
|
+
const code = iban.match(/^([A-Z]{2})(\d{2})([A-Z\d]+)$/);
|
|
86
|
+
let digits;
|
|
16
87
|
if (!code || typeof codeLengths[code[1]] === 'undefined') {
|
|
17
88
|
return {
|
|
18
89
|
ibanInvalid: true,
|
|
19
90
|
error: {
|
|
20
91
|
countryUnsupported: true,
|
|
21
92
|
codeLengthInvalid: false,
|
|
22
|
-
patternInvalid: false
|
|
23
|
-
}
|
|
93
|
+
patternInvalid: false,
|
|
94
|
+
},
|
|
24
95
|
};
|
|
25
96
|
}
|
|
26
97
|
if (iban.length !== codeLengths[code[1]]) {
|
|
@@ -29,33 +100,33 @@ function validateIBAN(control) {
|
|
|
29
100
|
error: {
|
|
30
101
|
countryUnsupported: false,
|
|
31
102
|
codeLengthInvalid: true,
|
|
32
|
-
patternInvalid: false
|
|
33
|
-
}
|
|
103
|
+
patternInvalid: false,
|
|
104
|
+
},
|
|
34
105
|
};
|
|
35
106
|
}
|
|
36
|
-
digits = (code[3] + code[1] + code[2]).replace(/[A-Z]/g,
|
|
107
|
+
digits = (code[3] + code[1] + code[2]).replace(/[A-Z]/g, (letter) => {
|
|
37
108
|
return letter.charCodeAt(0) - 55;
|
|
38
109
|
});
|
|
39
|
-
return mod97(digits) === 1
|
|
40
|
-
{
|
|
110
|
+
return mod97(digits) === 1
|
|
111
|
+
? {
|
|
41
112
|
ibanInvalid: false,
|
|
42
|
-
error: null
|
|
43
|
-
} : {
|
|
44
|
-
ibanInvalid: true,
|
|
45
|
-
error: {
|
|
46
|
-
countryUnsupported: false,
|
|
47
|
-
codeLengthInvalid: false,
|
|
48
|
-
patternInvalid: true
|
|
113
|
+
error: null,
|
|
49
114
|
}
|
|
50
|
-
|
|
115
|
+
: {
|
|
116
|
+
ibanInvalid: true,
|
|
117
|
+
error: {
|
|
118
|
+
countryUnsupported: false,
|
|
119
|
+
codeLengthInvalid: false,
|
|
120
|
+
patternInvalid: true,
|
|
121
|
+
},
|
|
122
|
+
};
|
|
51
123
|
}
|
|
52
124
|
}
|
|
53
|
-
exports.validateIBAN = validateIBAN;
|
|
54
125
|
function mod97(digital) {
|
|
55
126
|
digital = digital.toString();
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
for (
|
|
127
|
+
let checksum = digital.slice(0, 2);
|
|
128
|
+
let fragment = '';
|
|
129
|
+
for (let offset = 2; offset < digital.length; offset += 7) {
|
|
59
130
|
fragment = checksum + digital.substring(offset, offset + 7);
|
|
60
131
|
checksum = parseInt(fragment, 10) % 97;
|
|
61
132
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { validateIBAN } from './iban.validator';
|
|
2
|
+
describe('ngx-iban-validator', () => {
|
|
3
|
+
it('validateIBAN for Albania AL35202111090000000001234567 should return false', () => {
|
|
4
|
+
expect(validateIBAN({ value: 'AL35202111090000000001234567' }).ibanInvalid)
|
|
5
|
+
.toBe(false);
|
|
6
|
+
});
|
|
7
|
+
it('validateIBAN for Andorra AD1400080001001234567890 should return false', () => {
|
|
8
|
+
expect(validateIBAN({ value: 'AD1400080001001234567890' }).ibanInvalid)
|
|
9
|
+
.toBe(false);
|
|
10
|
+
});
|
|
11
|
+
it('validateIBAN for Austria AT483200000012345864 should return false', () => {
|
|
12
|
+
expect(validateIBAN({ value: 'AT483200000012345864' }).ibanInvalid).toBe(false);
|
|
13
|
+
});
|
|
14
|
+
it('validateIBAN for Azerbaijan AZ96AZEJ00000000001234567890 should return false', () => {
|
|
15
|
+
expect(validateIBAN({ value: 'AZ96AZEJ00000000001234567890' }).ibanInvalid)
|
|
16
|
+
.toBe(false);
|
|
17
|
+
});
|
|
18
|
+
it('validateIBAN for Bahrain BH02CITI00001077181611 should return false', () => {
|
|
19
|
+
expect(validateIBAN({ value: 'BH02CITI00001077181611' }).ibanInvalid).toBe(false);
|
|
20
|
+
});
|
|
21
|
+
it('validateIBAN for Belarus BY86AKBB10100000002966000000 should return false', () => {
|
|
22
|
+
expect(validateIBAN({ value: 'BY86AKBB10100000002966000000' }).ibanInvalid)
|
|
23
|
+
.toBe(false);
|
|
24
|
+
});
|
|
25
|
+
it('validateIBAN for Belgium BE71096123456769 should return false', () => {
|
|
26
|
+
expect(validateIBAN({ value: 'BE71096123456769' }).ibanInvalid).toBe(false);
|
|
27
|
+
});
|
|
28
|
+
it('validateIBAN for Bosnia and Herzegovina BA393385804800211234 should return false', () => {
|
|
29
|
+
expect(validateIBAN({ value: 'BA393385804800211234' }).ibanInvalid).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
it('validateIBAN for Brazil BR1500000000000010932840814P2 should return false', () => {
|
|
32
|
+
expect(validateIBAN({ value: 'BR1500000000000010932840814P2' }).ibanInvalid)
|
|
33
|
+
.toBe(false);
|
|
34
|
+
});
|
|
35
|
+
it('validateIBAN for Bulgaria BG18RZBB91550123456789 should return false', () => {
|
|
36
|
+
expect(validateIBAN({ value: 'BG18RZBB91550123456789' }).ibanInvalid).toBe(false);
|
|
37
|
+
});
|
|
38
|
+
it('validateIBAN for Costa Rica CR23015108410026012345 should return false', () => {
|
|
39
|
+
expect(validateIBAN({ value: 'CR23015108410026012345' }).ibanInvalid).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
it('validateIBAN for Croatia HR1723600001101234565 should return false', () => {
|
|
42
|
+
expect(validateIBAN({ value: 'HR1723600001101234565' }).ibanInvalid).toBe(false);
|
|
43
|
+
});
|
|
44
|
+
it('validateIBAN for Cyprus CY21002001950000357001234567 should return false', () => {
|
|
45
|
+
expect(validateIBAN({ value: 'CY21002001950000357001234567' }).ibanInvalid)
|
|
46
|
+
.toBe(false);
|
|
47
|
+
});
|
|
48
|
+
it('validateIBAN for Czech Republic CZ5508000000001234567899 should return false', () => {
|
|
49
|
+
expect(validateIBAN({ value: 'CZ5508000000001234567899' }).ibanInvalid)
|
|
50
|
+
.toBe(false);
|
|
51
|
+
});
|
|
52
|
+
it('validateIBAN for Denmark DK9520000123456789 should return false', () => {
|
|
53
|
+
expect(validateIBAN({ value: 'DK9520000123456789' }).ibanInvalid).toBe(false);
|
|
54
|
+
});
|
|
55
|
+
it('validateIBAN for Dominican Republic DO22ACAU00000000000123456789 should return false', () => {
|
|
56
|
+
expect(validateIBAN({ value: 'DO22ACAU00000000000123456789' }).ibanInvalid)
|
|
57
|
+
.toBe(false);
|
|
58
|
+
});
|
|
59
|
+
it('validateIBAN for Egypt EG800002000156789012345180002 should return false', () => {
|
|
60
|
+
expect(validateIBAN({ value: 'EG800002000156789012345180002' }).ibanInvalid)
|
|
61
|
+
.toBe(false);
|
|
62
|
+
});
|
|
63
|
+
it('validateIBAN for El Salvador SV43ACAT00000000000000123123 should return false', () => {
|
|
64
|
+
expect(validateIBAN({ value: 'SV43ACAT00000000000000123123' }).ibanInvalid)
|
|
65
|
+
.toBe(false);
|
|
66
|
+
});
|
|
67
|
+
it('validateIBAN for Estonia EE471000001020145685 should return false', () => {
|
|
68
|
+
expect(validateIBAN({ value: 'EE471000001020145685' }).ibanInvalid).toBe(false);
|
|
69
|
+
});
|
|
70
|
+
it('validateIBAN for Faroe Islands FO9264600123456789 should return false', () => {
|
|
71
|
+
expect(validateIBAN({ value: 'FO9264600123456789' }).ibanInvalid).toBe(false);
|
|
72
|
+
});
|
|
73
|
+
it('validateIBAN for Finland FI1410093000123458 should return false', () => {
|
|
74
|
+
expect(validateIBAN({ value: 'FI1410093000123458' }).ibanInvalid).toBe(false);
|
|
75
|
+
});
|
|
76
|
+
it('validateIBAN for France FR7630006000011234567890189 should return false', () => {
|
|
77
|
+
expect(validateIBAN({ value: 'FR7630006000011234567890189' }).ibanInvalid)
|
|
78
|
+
.toBe(false);
|
|
79
|
+
});
|
|
80
|
+
it('validateIBAN for Georgia GE60NB0000000123456789 should return false', () => {
|
|
81
|
+
expect(validateIBAN({ value: 'GE60NB0000000123456789' }).ibanInvalid).toBe(false);
|
|
82
|
+
});
|
|
83
|
+
it('validateIBAN for Germany DE75512108001245126199 should return false', () => {
|
|
84
|
+
expect(validateIBAN({ value: 'DE75512108001245126199' }).ibanInvalid).toBe(false);
|
|
85
|
+
});
|
|
86
|
+
it('validateIBAN for Gibraltar GI04BARC000001234567890 should return false', () => {
|
|
87
|
+
expect(validateIBAN({ value: 'GI04BARC000001234567890' }).ibanInvalid)
|
|
88
|
+
.toBe(false);
|
|
89
|
+
});
|
|
90
|
+
it('validateIBAN for Greece GR9608100010000001234567890 should return false', () => {
|
|
91
|
+
expect(validateIBAN({ value: 'GR9608100010000001234567890' }).ibanInvalid)
|
|
92
|
+
.toBe(false);
|
|
93
|
+
});
|
|
94
|
+
it('validateIBAN for Greenland GL8964710123456789 should return false', () => {
|
|
95
|
+
expect(validateIBAN({ value: 'GL8964710123456789' }).ibanInvalid).toBe(false);
|
|
96
|
+
});
|
|
97
|
+
it('validateIBAN for Guatemala GT20AGRO00000000001234567890 should return false', () => {
|
|
98
|
+
expect(validateIBAN({ value: 'GT20AGRO00000000001234567890' }).ibanInvalid)
|
|
99
|
+
.toBe(false);
|
|
100
|
+
});
|
|
101
|
+
it('validateIBAN for Vatican VA59001123000012345678 should return false', () => {
|
|
102
|
+
expect(validateIBAN({ value: 'VA59001123000012345678' }).ibanInvalid).toBe(false);
|
|
103
|
+
});
|
|
104
|
+
it('validateIBAN for Hungary HU93116000060000000012345676 should return false', () => {
|
|
105
|
+
expect(validateIBAN({ value: 'HU93116000060000000012345676' }).ibanInvalid)
|
|
106
|
+
.toBe(false);
|
|
107
|
+
});
|
|
108
|
+
it('validateIBAN for Iceland IS750001121234563108962099 should return false', () => {
|
|
109
|
+
expect(validateIBAN({ value: 'IS750001121234563108962099' }).ibanInvalid)
|
|
110
|
+
.toBe(false);
|
|
111
|
+
});
|
|
112
|
+
it('validateIBAN for Iraq IQ20CBIQ861800101010500 should return false', () => {
|
|
113
|
+
expect(validateIBAN({ value: 'IQ20CBIQ861800101010500' }).ibanInvalid)
|
|
114
|
+
.toBe(false);
|
|
115
|
+
});
|
|
116
|
+
it('validateIBAN for Ireland IE64IRCE92050112345678 should return false', () => {
|
|
117
|
+
expect(validateIBAN({ value: 'IE64IRCE92050112345678' }).ibanInvalid).toBe(false);
|
|
118
|
+
});
|
|
119
|
+
it('validateIBAN for Israel IL170108000000012612345 should return false', () => {
|
|
120
|
+
expect(validateIBAN({ value: 'IL170108000000012612345' }).ibanInvalid)
|
|
121
|
+
.toBe(false);
|
|
122
|
+
});
|
|
123
|
+
it('validateIBAN for Italy IT60X0542811101000000123456 should return false', () => {
|
|
124
|
+
expect(validateIBAN({ value: 'IT60X0542811101000000123456' }).ibanInvalid)
|
|
125
|
+
.toBe(false);
|
|
126
|
+
});
|
|
127
|
+
it('validateIBAN for Jordan JO71CBJO0000000000001234567890 should return false', () => {
|
|
128
|
+
expect(validateIBAN({ value: 'JO71CBJO0000000000001234567890' }).ibanInvalid).toBe(false);
|
|
129
|
+
});
|
|
130
|
+
it('validateIBAN for Kazakhstan KZ563190000012344567 should return false', () => {
|
|
131
|
+
expect(validateIBAN({ value: 'KZ563190000012344567' }).ibanInvalid).toBe(false);
|
|
132
|
+
});
|
|
133
|
+
it('validateIBAN for Kosovo XK051212012345678906 should return false', () => {
|
|
134
|
+
expect(validateIBAN({ value: 'XK051212012345678906' }).ibanInvalid).toBe(false);
|
|
135
|
+
});
|
|
136
|
+
it('validateIBAN for Kuwait KW81CBKU0000000000001234560101 should return false', () => {
|
|
137
|
+
expect(validateIBAN({ value: 'KW81CBKU0000000000001234560101' }).ibanInvalid).toBe(false);
|
|
138
|
+
});
|
|
139
|
+
it('validateIBAN for Latvia LV97HABA0012345678910 should return false', () => {
|
|
140
|
+
expect(validateIBAN({ value: 'LV97HABA0012345678910' }).ibanInvalid).toBe(false);
|
|
141
|
+
});
|
|
142
|
+
it('validateIBAN for Lebanon LB92000700000000123123456123 should return false', () => {
|
|
143
|
+
expect(validateIBAN({ value: 'LB92000700000000123123456123' }).ibanInvalid)
|
|
144
|
+
.toBe(false);
|
|
145
|
+
});
|
|
146
|
+
it('validateIBAN for Libya LY38021001000000123456789 should return false', () => {
|
|
147
|
+
expect(validateIBAN({ value: 'LY38021001000000123456789' }).ibanInvalid)
|
|
148
|
+
.toBe(false);
|
|
149
|
+
});
|
|
150
|
+
it('validateIBAN for Liechtenstein LI7408806123456789012 should return false', () => {
|
|
151
|
+
expect(validateIBAN({ value: 'LI7408806123456789012' }).ibanInvalid).toBe(false);
|
|
152
|
+
});
|
|
153
|
+
it('validateIBAN for Lithuania LT601010012345678901 should return false', () => {
|
|
154
|
+
expect(validateIBAN({ value: 'LT601010012345678901' }).ibanInvalid).toBe(false);
|
|
155
|
+
});
|
|
156
|
+
it('validateIBAN for Luxembourg LU120010001234567891 should return false', () => {
|
|
157
|
+
expect(validateIBAN({ value: 'LU120010001234567891' }).ibanInvalid).toBe(false);
|
|
158
|
+
});
|
|
159
|
+
it('validateIBAN for Malta MT31MALT01100000000000000000123 should return false', () => {
|
|
160
|
+
expect(validateIBAN({ value: 'MT31MALT01100000000000000000123' }).ibanInvalid).toBe(false);
|
|
161
|
+
});
|
|
162
|
+
it('validateIBAN for Mauritania MR1300020001010000123456753 should return false', () => {
|
|
163
|
+
expect(validateIBAN({ value: 'MR1300020001010000123456753' }).ibanInvalid)
|
|
164
|
+
.toBe(false);
|
|
165
|
+
});
|
|
166
|
+
it('validateIBAN for Mauritius MU43BOMM0101123456789101000MUR should return false', () => {
|
|
167
|
+
expect(validateIBAN({ value: 'MU43BOMM0101123456789101000MUR' }).ibanInvalid).toBe(false);
|
|
168
|
+
});
|
|
169
|
+
it('validateIBAN for Moldova MD21EX000000000001234567 should return false', () => {
|
|
170
|
+
expect(validateIBAN({ value: 'MD21EX000000000001234567' }).ibanInvalid)
|
|
171
|
+
.toBe(false);
|
|
172
|
+
});
|
|
173
|
+
it('validateIBAN for Monaco MC5810096180790123456789085 should return false', () => {
|
|
174
|
+
expect(validateIBAN({ value: 'MC5810096180790123456789085' }).ibanInvalid)
|
|
175
|
+
.toBe(false);
|
|
176
|
+
});
|
|
177
|
+
it('validateIBAN for Montenegro ME25505000012345678951 should return false', () => {
|
|
178
|
+
expect(validateIBAN({ value: 'ME25505000012345678951' }).ibanInvalid).toBe(false);
|
|
179
|
+
});
|
|
180
|
+
it('validateIBAN for Netherlands NL02ABNA0123456789 should return false', () => {
|
|
181
|
+
expect(validateIBAN({ value: 'NL02ABNA0123456789' }).ibanInvalid).toBe(false);
|
|
182
|
+
});
|
|
183
|
+
it('validateIBAN for North Macedonia MK07200002785123453 should return false', () => {
|
|
184
|
+
expect(validateIBAN({ value: 'MK07200002785123453' }).ibanInvalid).toBe(false);
|
|
185
|
+
});
|
|
186
|
+
it('validateIBAN for Norway NO8330001234567 should return false', () => {
|
|
187
|
+
expect(validateIBAN({ value: 'NO8330001234567' }).ibanInvalid).toBe(false);
|
|
188
|
+
});
|
|
189
|
+
it('validateIBAN for Pakistan PK36SCBL0000001123456702 should return false', () => {
|
|
190
|
+
expect(validateIBAN({ value: 'PK36SCBL0000001123456702' }).ibanInvalid)
|
|
191
|
+
.toBe(false);
|
|
192
|
+
});
|
|
193
|
+
it('validateIBAN for Palestine PS92PALS000000000400123456702 should return false', () => {
|
|
194
|
+
expect(validateIBAN({ value: 'PS92PALS000000000400123456702' }).ibanInvalid)
|
|
195
|
+
.toBe(false);
|
|
196
|
+
});
|
|
197
|
+
it('validateIBAN for Poland PL10105000997603123456789123 should return false', () => {
|
|
198
|
+
expect(validateIBAN({ value: 'PL10105000997603123456789123' }).ibanInvalid)
|
|
199
|
+
.toBe(false);
|
|
200
|
+
});
|
|
201
|
+
it('validateIBAN for Portugal PT50002700000001234567833 should return false', () => {
|
|
202
|
+
expect(validateIBAN({ value: 'PT50002700000001234567833' }).ibanInvalid)
|
|
203
|
+
.toBe(false);
|
|
204
|
+
});
|
|
205
|
+
it('validateIBAN for Qatar QA54QNBA000000000000693123456 should return false', () => {
|
|
206
|
+
expect(validateIBAN({ value: 'QA54QNBA000000000000693123456' }).ibanInvalid)
|
|
207
|
+
.toBe(false);
|
|
208
|
+
});
|
|
209
|
+
it('validateIBAN for Romania RO09BCYP0000001234567890 should return false', () => {
|
|
210
|
+
expect(validateIBAN({ value: 'RO09BCYP0000001234567890' }).ibanInvalid)
|
|
211
|
+
.toBe(false);
|
|
212
|
+
});
|
|
213
|
+
it('validateIBAN for Saint Lucia LC14BOSL123456789012345678901234 should return false', () => {
|
|
214
|
+
expect(validateIBAN({ value: 'LC14BOSL123456789012345678901234' }).ibanInvalid).toBe(false);
|
|
215
|
+
});
|
|
216
|
+
it('validateIBAN for San Marino SM76P0854009812123456789123 should return false', () => {
|
|
217
|
+
expect(validateIBAN({ value: 'SM76P0854009812123456789123' }).ibanInvalid)
|
|
218
|
+
.toBe(false);
|
|
219
|
+
});
|
|
220
|
+
it('validateIBAN for Sao Tome and Principe ST23000200000289355710148 should return false', () => {
|
|
221
|
+
expect(validateIBAN({ value: 'ST23000200000289355710148' }).ibanInvalid)
|
|
222
|
+
.toBe(false);
|
|
223
|
+
});
|
|
224
|
+
it('validateIBAN for Saudi Arabia SA4420000001234567891234 should return false', () => {
|
|
225
|
+
expect(validateIBAN({ value: 'SA4420000001234567891234' }).ibanInvalid)
|
|
226
|
+
.toBe(false);
|
|
227
|
+
});
|
|
228
|
+
it('validateIBAN for Serbia RS35105008123123123173 should return false', () => {
|
|
229
|
+
expect(validateIBAN({ value: 'RS35105008123123123173' }).ibanInvalid).toBe(false);
|
|
230
|
+
});
|
|
231
|
+
it('validateIBAN for Seychelles SC52BAHL01031234567890123456USD should return false', () => {
|
|
232
|
+
expect(validateIBAN({ value: 'SC52BAHL01031234567890123456USD' }).ibanInvalid).toBe(false);
|
|
233
|
+
});
|
|
234
|
+
it('validateIBAN for Slovak Republic SK8975000000000012345671 should return false', () => {
|
|
235
|
+
expect(validateIBAN({ value: 'SK8975000000000012345671' }).ibanInvalid)
|
|
236
|
+
.toBe(false);
|
|
237
|
+
});
|
|
238
|
+
it('validateIBAN for Slovenia SI56192001234567892 should return false', () => {
|
|
239
|
+
expect(validateIBAN({ value: 'SI56192001234567892' }).ibanInvalid).toBe(false);
|
|
240
|
+
});
|
|
241
|
+
it('validateIBAN for Spain ES7921000813610123456789 should return false', () => {
|
|
242
|
+
expect(validateIBAN({ value: 'ES7921000813610123456789' }).ibanInvalid)
|
|
243
|
+
.toBe(false);
|
|
244
|
+
});
|
|
245
|
+
it('validateIBAN for Sudan SD8811123456789012 should return false', () => {
|
|
246
|
+
expect(validateIBAN({ value: 'SD8811123456789012' }).ibanInvalid).toBe(false);
|
|
247
|
+
});
|
|
248
|
+
it('validateIBAN for Sweden SE7280000810340009783242 should return false', () => {
|
|
249
|
+
expect(validateIBAN({ value: 'SE7280000810340009783242' }).ibanInvalid)
|
|
250
|
+
.toBe(false);
|
|
251
|
+
});
|
|
252
|
+
it('validateIBAN for Switzerland CH5604835012345678009 should return false', () => {
|
|
253
|
+
expect(validateIBAN({ value: 'CH5604835012345678009' }).ibanInvalid).toBe(false);
|
|
254
|
+
});
|
|
255
|
+
it('validateIBAN for Timor-Leste TL380010012345678910106 should return false', () => {
|
|
256
|
+
expect(validateIBAN({ value: 'TL380010012345678910106' }).ibanInvalid)
|
|
257
|
+
.toBe(false);
|
|
258
|
+
});
|
|
259
|
+
it('validateIBAN for Tunisia TN5904018104004942712345 should return false', () => {
|
|
260
|
+
expect(validateIBAN({ value: 'TN5904018104004942712345' }).ibanInvalid)
|
|
261
|
+
.toBe(false);
|
|
262
|
+
});
|
|
263
|
+
it('validateIBAN for Turkey TR320010009999901234567890 should return false', () => {
|
|
264
|
+
expect(validateIBAN({ value: 'TR320010009999901234567890' }).ibanInvalid)
|
|
265
|
+
.toBe(false);
|
|
266
|
+
});
|
|
267
|
+
it('validateIBAN for Ukraine UA903052992990004149123456789 should return false', () => {
|
|
268
|
+
expect(validateIBAN({ value: 'UA903052992990004149123456789' }).ibanInvalid)
|
|
269
|
+
.toBe(false);
|
|
270
|
+
});
|
|
271
|
+
it('validateIBAN for United Arab Emirates AE460090000000123456789 should return false', () => {
|
|
272
|
+
expect(validateIBAN({ value: 'AE460090000000123456789' }).ibanInvalid)
|
|
273
|
+
.toBe(false);
|
|
274
|
+
});
|
|
275
|
+
it('validateIBAN for United Kingdom GB33BUKB20201555555555 should return false', () => {
|
|
276
|
+
expect(validateIBAN({ value: 'GB33BUKB20201555555555' }).ibanInvalid).toBe(false);
|
|
277
|
+
});
|
|
278
|
+
it('validateIBAN for Virgin Islands, British VG21PACG0000000123456789 should return false', () => {
|
|
279
|
+
expect(validateIBAN({ value: 'VG21PACG0000000123456789' }).ibanInvalid)
|
|
280
|
+
.toBe(false);
|
|
281
|
+
});
|
|
282
|
+
});
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateIBAN = void 0;
|
|
4
|
-
var iban_validator_1 = require("./iban.validator");
|
|
5
|
-
Object.defineProperty(exports, "validateIBAN", { enumerable: true, get: function () { return iban_validator_1.validateIBAN; } });
|
|
1
|
+
export { validateIBAN } from './iban.validator';
|
package/jest.config.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-iban-validator",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/SKaDiZZ/ngx-iban-validator"
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"main": "dist/index.js",
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "tsc",
|
|
20
|
-
"test": "
|
|
20
|
+
"test": "jest"
|
|
21
21
|
},
|
|
22
22
|
"types": "dist/index.d.ts",
|
|
23
23
|
"keywords": [
|
|
@@ -31,6 +31,9 @@
|
|
|
31
31
|
],
|
|
32
32
|
"license": "MIT",
|
|
33
33
|
"devDependencies": {
|
|
34
|
+
"@types/jest": "^29.1.1",
|
|
35
|
+
"jest": "^29.1.2",
|
|
36
|
+
"ts-jest": "^29.0.3",
|
|
34
37
|
"typescript": "^4.5.5"
|
|
35
38
|
}
|
|
36
39
|
}
|