از فرایند اعتبارسنجی ISBN-10 برای اعتبارسنجی شمارههای شناسایی کتاب استفاده میشود.
این شمارهها معمولاً خط تیره دارند و به این شکلاند: 3-598-21508-8
قالب ISBN-10 شامل ۹ رقم (از ۰ تا ۹) بهعلاوه یک نویسهی کنترلی است (که تنها یک رقم یا یک X است). اگر نویسهی کنترلی X باشد، این نویسه نشاندهندهی مقدار «۱۰» است. این شمارهها ممکن است با خط تیره یا بدون آن نوشته شوند و میتوان اعتبارشان را با فرمول زیر بررسی کرد:
(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 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
چون نتیجه ۰ است، این نشان میدهد که ISBN ما معتبر است.
برنامه با گرفتن یک رشته باید بررسی کند که آیا رشتهی دادهشده یک ISBN-10 معتبر است یا نه. پیادهسازی این کار نیازمند کمی تأمل دربارهی پیشپردازش و تجزیهی رشته پیش از محاسبهی رقم کنترلی ISBN است.
برنامه باید بتواند ISBN-10 را هم با خط تیرههای جداکننده و هم بدون آنها بررسی کند.
تبدیل رشته به عدد در برخی زبانها میتواند دشوار باشد.
حالا این کار حتی دشوارتر هم شده است، چون رقم کنترلی یک ISBN-10 ممکن است X باشد (که نشاندهندهی ۱۰ است).
برای نمونه 3-598-21507-X یک ISBN-10 معتبر است.