Sha256: d5038f9c59e993b19bed40c35e7a1c0b34d17f339d922cbca66cc8e0a12d635e
Contents?: true
Size: 515 Bytes
Versions: 111
Compression:
Stored size: 515 Bytes
Contents
module IsbnVerifier open System.Text.RegularExpressions let private digitToInt digit = if digit = 'X' then 10 else int digit - int '0' let private checkSum isbn = isbn |> Seq.mapi (fun i digit -> (10 - i) * digitToInt digit) |> Seq.sum let private cleanup (isbn: string) = isbn.Replace("-", "") let isValid (isbn: string) = let cleanedUpIsbn = cleanup isbn match Regex.IsMatch(cleanedUpIsbn, "^[0-9]{9}[0-9X]$") with | false -> false | true -> checkSum cleanedUpIsbn % 11 = 0
Version data entries
111 entries across 111 versions & 1 rubygems