Task

Validate the check digit of an ISBN-13 code:

   Multiply every other digit by  3.
   Add these numbers and the other digits.
   Take the remainder of this number after division by  10.
   If it is  0,   the ISBN-13 check digit is correct.


Use the following codes for testing:

   978-1734314502       (good)
   978-1734314509         (bad)
   978-1788399081       (good)
   978-1788399083         (bad)


Show output here, on this page



See also

   for details:   13-digit ISBN method of validation.       (installs cookies.)


function isbncheck(str)
    return sum(iseven(i) ? 3 * parse(Int, ch) : parse(Int, ch) 
        for (i, ch) in enumerate(replace(str, r"\D" => ""))) % 10 == 0
end
 
const testingcodes = ["978-1734314502", "978-1734314509",
                      "978-1788399081", "978-1788399083"]
 
for code in testingcodes
    println(code, ": ", isbncheck(code) ? "good" : "bad")
end
 