Validate International Securities Identification Number: Difference between revisions

Added Julia language
(add PicoLisp)
(Added Julia language)
Line 1,038:
GB0002634946 is valid
US0373831005 is not valid</pre>
 
=={{header|Julia}}==
{{works with|Julia|0.6}}
 
<lang julia>luhntest(x) = luhntest(parse(Int, x))
 
function checkISIN(inum::AbstractString)
if length(inum) != 12 || !all(isalpha, inum[1:2]) return false end
return parse.(Int, collect(inum), 36) |> join |> luhntest
end
 
for inum in ["US0378331005", "US0373831005", "U50378331005",
"US03378331005", "AU0000XVGZA3", "AU0000VXGZA3", "FR0000988040"]
@printf("%-15s %5s\n", inum, ifelse(checkISIN(inum), "pass", "fail"))
end</lang>
 
{{out}}
<pre>US0378331005 pass
US0373831005 fail
U50378331005 fail
US03378331005 fail
AU0000XVGZA3 pass
AU0000VXGZA3 pass
FR0000988040 pass</pre>
 
=={{header|Kotlin}}==
Anonymous user