@@ -34,7 +34,7 @@ function normalize(iban)
3434
3535 iban = iban . replace ( / [ - ] / g, '' ) . trim ( ) . toUpperCase ( ) ;
3636
37- if ( ! iban . match ( / ^ [ A - Z ] { 2 } [ 0 - 9 A - Z ] { 13 , 30 } $ / ) ) {
37+ if ( iban . search ( / ^ [ A - Z ] { 2 } [ 0 - 9 A - Z ] { 13 , 30 } $ / ) === - 1 ) {
3838 return undefined ;
3939 }
4040
@@ -53,94 +53,94 @@ function isValid(iban)
5353 }
5454
5555 const map = {
56- 'AD' : / ^ A D \\ d { 10 } [ A - Z 0 - 9 ] { 12 } $ / ,
57- 'AE' : / ^ A E \\ d { 21 } $ / ,
58- 'AL' : / ^ A L \\ d { 10 } [ A - Z 0 - 9 ] { 16 } $ / ,
59- 'AT' : / ^ A T \\ d { 18 } $ / ,
60- 'AZ' : / ^ A Z \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 20 } $ / ,
61- 'BA' : / ^ B A \\ d { 18 } $ / ,
62- 'BE' : / ^ B E \\ d { 14 } $ / ,
63- 'BG' : / ^ B G \\ d { 2 } [ A - Z ] { 4 } \ \d { 6 } [ A - Z 0 - 9 ] { 8 } $ / ,
64- 'BH' : / ^ B H \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 14 } $ / ,
65- 'BR' : / ^ B R \\ d { 25 } [ A - Z ] { 1 } [ A - Z 0 - 9 ] { 1 } $ / ,
66- 'BY' : / ^ B Y \\ d { 2 } [ A - Z 0 - 9 ] { 4 } \ \d { 4 } [ A - Z 0 - 9 ] { 16 } $ / ,
67- 'CH' : / ^ C H \\ d { 7 } [ A - Z 0 - 9 ] { 12 } $ / ,
68- 'CR' : / ^ C R \\ d { 20 } $ / ,
69- 'CY' : / ^ C Y \\ d { 10 } [ A - Z 0 - 9 ] { 16 } $ / ,
70- 'CZ' : / ^ C Z \\ d { 22 } $ / ,
71- 'DE' : / ^ D E \\ d { 20 } $ / ,
72- 'DK' : / ^ D K \\ d { 16 } $ / ,
73- 'DO' : / ^ D O \\ d { 2 } [ A - Z 0 - 9 ] { 4 } \ \d { 20 } $ / ,
74- 'EE' : / ^ E E \\ d { 18 } $ / ,
75- 'ES' : / ^ E S \\ d { 22 } $ / ,
76- 'FI' : / ^ F I \\ d { 16 } $ / ,
77- 'FO' : / ^ F O \\ d { 16 } $ / ,
78- 'FR' : / ^ F R \\ d { 12 } [ A - Z 0 - 9 ] { 11 } \ \d { 2 } $ / ,
79- 'GB' : / ^ G B \\ d { 2 } [ A - Z ] { 4 } \ \d { 14 } $ / ,
80- 'GE' : / ^ G E \\ d { 2 } [ A - Z ] { 2 } \ \d { 16 } $ / ,
81- 'GI' : / ^ G I \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 15 } $ / ,
82- 'GL' : / ^ G L \\ d { 16 } $ / ,
83- 'GR' : / ^ G R \\ d { 9 } [ A - Z 0 - 9 ] { 16 } $ / ,
84- 'GT' : / ^ G T \\ d { 2 } [ A - Z 0 - 9 ] { 24 } $ / ,
85- 'HR' : / ^ H R \\ d { 19 } $ / ,
86- 'HU' : / ^ H U \\ d { 26 } $ / ,
87- 'IE' : / ^ I E \\ d { 2 } [ A - Z ] { 4 } \ \d { 14 } $ / ,
88- 'IL' : / ^ I L \\ d { 21 } $ / ,
89- 'IQ' : / ^ I Q \\ d { 2 } [ A - Z ] { 4 } \ \d { 15 } $ / ,
90- 'IS' : / ^ I S \\ d { 24 } $ / ,
91- 'IT' : / ^ I T \\ d { 2 } [ A - Z ] { 1 } \ \d { 10 } [ A - Z 0 - 9 ] { 12 } $ / ,
92- 'JO' : / ^ J O \\ d { 2 } [ A - Z ] { 4 } \ \d { 4 } [ A - Z 0 - 9 ] { 18 } $ / ,
93- 'KW' : / ^ K W \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 22 } $ / ,
94- 'KZ' : / ^ K Z \\ d { 5 } [ A - Z 0 - 9 ] { 13 } $ / ,
95- 'LB' : / ^ L B \\ d { 6 } [ A - Z 0 - 9 ] { 20 } $ / ,
96- 'LC' : / ^ L C \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 24 } $ / ,
97- 'LI' : / ^ L I \\ d { 7 } [ A - Z 0 - 9 ] { 12 } $ / ,
98- 'LT' : / ^ L T \\ d { 18 } $ / ,
99- 'LU' : / ^ L U \\ d { 5 } [ A - Z 0 - 9 ] { 13 } $ / ,
100- 'LV' : / ^ L V \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 13 } $ / ,
101- 'MC' : / ^ M C \\ d { 12 } [ A - Z 0 - 9 ] { 11 } \ \d { 2 } $ / ,
102- 'MD' : / ^ M D \\ d { 2 } [ A - Z 0 - 9 ] { 20 } $ / ,
103- 'ME' : / ^ M E \\ d { 20 } $ / ,
104- 'MK' : / ^ M K \\ d { 5 } [ A - Z 0 - 9 ] { 10 } \ \d { 2 } $ / ,
105- 'MR' : / ^ M R \\ d { 25 } $ / ,
106- 'MT' : / ^ M T \\ d { 2 } [ A - Z ] { 4 } \ \d { 5 } [ A - Z 0 - 9 ] { 18 } $ / ,
107- 'MU' : / ^ M U \\ d { 2 } [ A - Z ] { 4 } \ \d { 19 } [ A - Z ] { 3 } $ / ,
108- 'NL' : / ^ N L \\ d { 2 } [ A - Z ] { 4 } \ \d { 10 } $ / ,
109- 'NO' : / ^ N O \\ d { 13 } $ / ,
110- 'PK' : / ^ P K \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 16 } $ / ,
111- 'PL' : / ^ P L \\ d { 26 } $ / ,
112- 'PS' : / ^ P S \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 21 } $ / ,
113- 'PT' : / ^ P T \\ d { 23 } $ / ,
114- 'QA' : / ^ Q A \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 21 } $ / ,
115- 'RO' : / ^ R O \\ d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 16 } $ / ,
116- 'RS' : / ^ R S \\ d { 20 } $ / ,
117- 'SA' : / ^ S A \\ d { 4 } [ A - Z 0 - 9 ] { 18 } $ / ,
118- 'SC' : / ^ S C \\ d { 2 } [ A - Z ] { 4 } \ \d { 20 } [ A - Z ] { 3 } $ / ,
119- 'SE' : / ^ S E \\ d { 22 } $ / ,
120- 'SI' : / ^ S I \\ d { 17 } $ / ,
121- 'SK' : / ^ S K \\ d { 22 } $ / ,
122- 'SM' : / ^ S M \\ d { 2 } [ A - Z ] { 1 } \ \d { 10 } [ A - Z 0 - 9 ] { 12 } $ / ,
123- 'ST' : / ^ S T \\ d { 23 } $ / ,
124- 'SV' : / ^ S V \\ d { 2 } [ A - Z ] { 4 } \ \d { 20 } $ / ,
125- 'TL' : / ^ T L \\ d { 21 } $ / ,
126- 'TN' : / ^ T N \\ d { 22 } $ / ,
127- 'TR' : / ^ T R \\ d { 8 } [ A - Z 0 - 9 ] { 16 } $ / ,
128- 'UA' : / ^ U A \\ d { 8 } [ A - Z 0 - 9 ] { 19 } $ / ,
129- 'VG' : / ^ V G \\ d { 2 } [ A - Z ] { 4 } \ \d { 16 } $ / ,
130- 'XK' : / ^ X K \\ d { 18 } $ /
56+ 'AD' : / ^ A D \d { 10 } [ A - Z 0 - 9 ] { 12 } $ / ,
57+ 'AE' : / ^ A E \d { 21 } $ / ,
58+ 'AL' : / ^ A L \d { 10 } [ A - Z 0 - 9 ] { 16 } $ / ,
59+ 'AT' : / ^ A T \d { 18 } $ / ,
60+ 'AZ' : / ^ A Z \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 20 } $ / ,
61+ 'BA' : / ^ B A \d { 18 } $ / ,
62+ 'BE' : / ^ B E \d { 14 } $ / ,
63+ 'BG' : / ^ B G \d { 2 } [ A - Z ] { 4 } \d { 6 } [ A - Z 0 - 9 ] { 8 } $ / ,
64+ 'BH' : / ^ B H \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 14 } $ / ,
65+ 'BR' : / ^ B R \d { 25 } [ A - Z ] { 1 } [ A - Z 0 - 9 ] { 1 } $ / ,
66+ 'BY' : / ^ B Y \d { 2 } [ A - Z 0 - 9 ] { 4 } \d { 4 } [ A - Z 0 - 9 ] { 16 } $ / ,
67+ 'CH' : / ^ C H \d { 7 } [ A - Z 0 - 9 ] { 12 } $ / ,
68+ 'CR' : / ^ C R \d { 20 } $ / ,
69+ 'CY' : / ^ C Y \d { 10 } [ A - Z 0 - 9 ] { 16 } $ / ,
70+ 'CZ' : / ^ C Z \d { 22 } $ / ,
71+ 'DE' : / ^ D E \d { 20 } $ / ,
72+ 'DK' : / ^ D K \d { 16 } $ / ,
73+ 'DO' : / ^ D O \d { 2 } [ A - Z 0 - 9 ] { 4 } \d { 20 } $ / ,
74+ 'EE' : / ^ E E \d { 18 } $ / ,
75+ 'ES' : / ^ E S \d { 22 } $ / ,
76+ 'FI' : / ^ F I \d { 16 } $ / ,
77+ 'FO' : / ^ F O \d { 16 } $ / ,
78+ 'FR' : / ^ F R \d { 12 } [ A - Z 0 - 9 ] { 11 } \d { 2 } $ / ,
79+ 'GB' : / ^ G B \d { 2 } [ A - Z ] { 4 } \d { 14 } $ / ,
80+ 'GE' : / ^ G E \d { 2 } [ A - Z ] { 2 } \d { 16 } $ / ,
81+ 'GI' : / ^ G I \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 15 } $ / ,
82+ 'GL' : / ^ G L \d { 16 } $ / ,
83+ 'GR' : / ^ G R \d { 9 } [ A - Z 0 - 9 ] { 16 } $ / ,
84+ 'GT' : / ^ G T \d { 2 } [ A - Z 0 - 9 ] { 24 } $ / ,
85+ 'HR' : / ^ H R \d { 19 } $ / ,
86+ 'HU' : / ^ H U \d { 26 } $ / ,
87+ 'IE' : / ^ I E \d { 2 } [ A - Z ] { 4 } \d { 14 } $ / ,
88+ 'IL' : / ^ I L \d { 21 } $ / ,
89+ 'IQ' : / ^ I Q \d { 2 } [ A - Z ] { 4 } \d { 15 } $ / ,
90+ 'IS' : / ^ I S \d { 24 } $ / ,
91+ 'IT' : / ^ I T \d { 2 } [ A - Z ] { 1 } \d { 10 } [ A - Z 0 - 9 ] { 12 } $ / ,
92+ 'JO' : / ^ J O \d { 2 } [ A - Z ] { 4 } \d { 4 } [ A - Z 0 - 9 ] { 18 } $ / ,
93+ 'KW' : / ^ K W \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 22 } $ / ,
94+ 'KZ' : / ^ K Z \d { 5 } [ A - Z 0 - 9 ] { 13 } $ / ,
95+ 'LB' : / ^ L B \d { 6 } [ A - Z 0 - 9 ] { 20 } $ / ,
96+ 'LC' : / ^ L C \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 24 } $ / ,
97+ 'LI' : / ^ L I \d { 7 } [ A - Z 0 - 9 ] { 12 } $ / ,
98+ 'LT' : / ^ L T \d { 18 } $ / ,
99+ 'LU' : / ^ L U \d { 5 } [ A - Z 0 - 9 ] { 13 } $ / ,
100+ 'LV' : / ^ L V \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 13 } $ / ,
101+ 'MC' : / ^ M C \d { 12 } [ A - Z 0 - 9 ] { 11 } \d { 2 } $ / ,
102+ 'MD' : / ^ M D \d { 2 } [ A - Z 0 - 9 ] { 20 } $ / ,
103+ 'ME' : / ^ M E \d { 20 } $ / ,
104+ 'MK' : / ^ M K \d { 5 } [ A - Z 0 - 9 ] { 10 } \d { 2 } $ / ,
105+ 'MR' : / ^ M R \d { 25 } $ / ,
106+ 'MT' : / ^ M T \d { 2 } [ A - Z ] { 4 } \d { 5 } [ A - Z 0 - 9 ] { 18 } $ / ,
107+ 'MU' : / ^ M U \d { 2 } [ A - Z ] { 4 } \d { 19 } [ A - Z ] { 3 } $ / ,
108+ 'NL' : / ^ N L \d { 2 } [ A - Z ] { 4 } \d { 10 } $ / ,
109+ 'NO' : / ^ N O \d { 13 } $ / ,
110+ 'PK' : / ^ P K \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 16 } $ / ,
111+ 'PL' : / ^ P L \d { 26 } $ / ,
112+ 'PS' : / ^ P S \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 21 } $ / ,
113+ 'PT' : / ^ P T \d { 23 } $ / ,
114+ 'QA' : / ^ Q A \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 21 } $ / ,
115+ 'RO' : / ^ R O \d { 2 } [ A - Z ] { 4 } [ A - Z 0 - 9 ] { 16 } $ / ,
116+ 'RS' : / ^ R S \d { 20 } $ / ,
117+ 'SA' : / ^ S A \d { 4 } [ A - Z 0 - 9 ] { 18 } $ / ,
118+ 'SC' : / ^ S C \d { 2 } [ A - Z ] { 4 } \d { 20 } [ A - Z ] { 3 } $ / ,
119+ 'SE' : / ^ S E \d { 22 } $ / ,
120+ 'SI' : / ^ S I \d { 17 } $ / ,
121+ 'SK' : / ^ S K \d { 22 } $ / ,
122+ 'SM' : / ^ S M \d { 2 } [ A - Z ] { 1 } \d { 10 } [ A - Z 0 - 9 ] { 12 } $ / ,
123+ 'ST' : / ^ S T \d { 23 } $ / ,
124+ 'SV' : / ^ S V \d { 2 } [ A - Z ] { 4 } \d { 20 } $ / ,
125+ 'TL' : / ^ T L \d { 21 } $ / ,
126+ 'TN' : / ^ T N \d { 22 } $ / ,
127+ 'TR' : / ^ T R \d { 8 } [ A - Z 0 - 9 ] { 16 } $ / ,
128+ 'UA' : / ^ U A \d { 8 } [ A - Z 0 - 9 ] { 19 } $ / ,
129+ 'VG' : / ^ V G \d { 2 } [ A - Z ] { 4 } \d { 16 } $ / ,
130+ 'XK' : / ^ X K \d { 18 } $ /
131131 } ;
132132
133- const cc = iban . substr ( 0 , 2 ) ;
133+ const cc = iban . substring ( 0 , 2 ) ;
134134
135135 if ( ! ( cc in map ) ) {
136136 return false ;
137137 }
138138
139- if ( iban . match ( map [ cc ] ) ) {
139+ if ( iban . search ( map [ cc ] ) === - 1 ) {
140140 return false ;
141141 }
142142
143- iban = iban . substr ( 4 ) + iban . substr ( 0 , 4 ) ;
143+ iban = iban . substring ( 4 ) + iban . substring ( 0 , 4 ) ;
144144
145145 let sb = '' ;
146146
0 commit comments