12 lines
307 B
Text
12 lines
307 B
Text
fcn validateIBAN(iban){
|
|
iban=iban-" \t";
|
|
alphaNums.matches(iban) and (ibans.find(iban[0,2])==iban.len()) and
|
|
( (iban[4,*]+iban[0,4]).apply("toInt",36) : mod97(_) == 1 )
|
|
}
|
|
fcn mod97(str){
|
|
n:=0; m:=9; M:=0; while(N:=str[n,m]){
|
|
M=((M.toString()+N).toInt()) % 97;
|
|
n+=m; m=7;
|
|
}
|
|
M
|
|
}
|