ISBN-10の検証手順は、書籍の識別番号を検証するために使われます。
これらの番号には通常ハイフンが含まれ、3-598-21508-8のような形をしています。
ISBN-10の形式は、9桁の数字(0から9)と1つのチェック文字(数字か、Xのみ)で構成されます。 チェック文字がXの場合、これは値の「10」を表します。 これらの番号はハイフン付きでもハイフンなしでも表すことができ、次の式で有効かどうかを確認できます。
(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0
結果が0なら、それは有効なISBN-10です。そうでなければ無効です。
ISBN-10の3-598-21508-8を例にしてみましょう。
これを式に当てはめると、次のようになります。
(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0
結果は0なので、このISBNが有効であることが確かめられます。
文字列が与えられたとき、プログラムはその文字列が有効なISBN-10かどうかを確認します。 これを実装するには、ISBNのチェック数字を計算する前に、文字列の前処理や解析について少し考える必要があります。
プログラムは、区切りのハイフンがある場合もない場合も、ISBN-10を検証できるようにします。
言語によっては、文字列から数値への変換が難しいことがあります。
さらに、ISBN-10のチェック数字は「X」(「10」を表す)のこともあるため、なおさら厄介です。
たとえば、3-598-21507-Xは有効なISBN-10です。