ISBN Numarası Kontrol Etme

13.07.2005

Okuyucu : 3.412
Günlük Okuyucu : 3,3

ISBN numarası kontrol ederken yardımcı olabilecek bir kaç not, teori ve pratik;

  • ISBN numaraları 10 hanelidir, tamamen nümerik olmayıp son hane "X" karakteri olabilir.
  • Eğer ISBN numarlarını integer olarak tutmak istiyorsanız son hanesi X olanları yazmayın ve ondan sonra 1000000000 küçük olanların sonuna gösterirken "X" ekleyin.
  • Eğerki çıktıyı "-" tireler ile gösterecekseniz ki aslında bir ayraç kullanmalısınız o zaman integer tutamayacaksınız. Yada 4 grupta (Group Identifier, Publisher Prefix, Title Identifier, Check Digit) tutmanız gerekli. Unutmayın ki Check Digit tek hane ve karakter olarak sadece "X" olabilir. Integer tutacaksanız "X" yerine 10 kullanabilirsiniz.
  • 10 haneyi 10-1 arası ağırlıklar ile çarpıp topladığınızda 11' e tam olarak bölünebilir bir sayı çıkmalıdır. ( ISBN 4.4. Check digit ) X' i 10 olarak almalısınız.

RegEx ile ISBN tanıma;

((?=.{13})\d{1,5}([- ])\d{1,7}\1\d{1,6}\1(\d|X)|\d{9}(\d|X))

Hem tire/hypen ("-") ile hemde birleşik yazılmış ISBN numarlarını tanıyabilir. RegExLib' deki bir örneği geliştirdim.

Matematiksel olarak kontrol etme;
Örnek VB.NET fonksiyonu

ISBN standartları hakkında daha fazla bilgi;
Structure of ISBN

Ferruh Mavituna
© 2002-2007, Ferruh Mavituna

Sabit IP Adresi : 81.22.99.133, SSL Erişimi, Hakkında