Validate International Securities Identification Number: Difference between revisions

m
(added RPL)
 
(3 intermediate revisions by the same user not shown)
Line 2,102:
 
=={{header|langur}}==
The luhn test is repeated here for simplicity (from Luhn_test_of_credit_card_numbers#langur).
 
<syntaxhighlight lang="langur">val .luhntest = ffn(.s) {
val .t = [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
val .numbers = s2n .s
Line 2,110:
 
for[=0] .i of .numbers {
_for += if( .i rem 2 == .oddeven: .numbers[.i]; .t[.numbers[.i]+1]){
.numbers[.i]
} else {
.t[.numbers[.i]+1]
}
} div 10
}
 
val .isintest = ffn(.s) {
matching(.s -> re/^[A-Z][A-Z][0-9A-Z]{9}[0-9]$/, .s) and
.luhntest(join s2n .s)
}
 
val .tests = h{
"US0378331005": true,
"US0373831005": false,
885

edits