คู่มือ ISSN Validator: ตรวจสอบ check digit ของ ISSN-8 และแปลงเป็นบาร์โค้ด EAN-13
ตรวจสอบ checksum ของ ISSN-8 รองรับ check digit แบบ X และแปลงระหว่าง ISSN กับ ISSN-EAN-13 (977) ได้ฟรี ทำงานฝั่ง client ทั้งหมด
Table of Contents
คู่มือ ISSN Validator: ตรวจสอบ check digit ของ ISSN-8 และแปลงเป็นบาร์โค้ด EAN-13
สิ่งพิมพ์ต่อเนื่องทุกฉบับที่อยู่ในวงการ ไม่ว่าจะเป็นวารสารวิชาการ นิตยสาร หนังสือพิมพ์ หรือรายงานประจำปี ล้วนมีหมายเลข ISSN (International Standard Serial Number) กำกับอยู่ ซึ่งเป็นตัวระบุ 8 ตัวอักษรที่ระบบสำคัญ ๆ อย่างระบบบรรณานุกรมของห้องสมุด ฐานข้อมูลการอ้างอิง และพอร์ทัลวิชาการ ต้องการให้ถูกต้องเป๊กทุกหลัก เพราะแค่ตัวเลขสลับตำแหน่งเดียว ก็ทำให้รายการที่เคยสะอาดกลายเป็นบันทึกผีที่ค้นหาไม่เจอในทันที เครื่องมือ ISSN Validator ฟรีตัวนี้ถูกสร้างมาเพื่อดักจับปัญหาแบบเงียบ ๆ เช่นนี้ก่อนที่มันจะลุกลาม
เครื่องมือนี้ทำงานสองอย่างในหน้าจอเดียว หนึ่งคือตรวจสอบ checksum ของ ISSN-8 ซึ่งเป็น check digit แบบ mod-11 ที่อยู่ท้าย ISSN ทุกตัว รวมถึงกรณี check digit เป็น X ที่พบได้ไม่บ่อยนัก สองคือแปลงไปกลับระหว่าง ISSN ปกติกับรูปแบบ ISSN-EAN-13 หรือตัวเลข 13 หลักที่ขึ้นต้นด้วย 977 ซึ่งพิมพ์อยู่บนบาร์โค้ดหน้าปกของสิ่งพิมพ์ต่อเนื่อง ทุกการคำนวณทำงานฝั่ง client 100% หมายความว่าหมายเลขที่คุณวางลงไปจะไม่ถูกส่งออกจากเครื่องของคุณแม้แต่บิตเดียว
ไม่ว่าคุณจะเป็นทีมตีพิมพ์วารสาร นักบรรณาธิการที่นำเข้ารายการเข้าระบบห้องสมุด หรือผู้ดูแลฐานข้อมูลการอ้างอิง บทความนี้จะพาไปดูว่าเครื่องมือทำงานอย่างไร หลักคณิตศาสตร์เบื้องหลัง check digit เป็นอย่างไร และเวิร์กโฟลว์แบบไหนที่ตัวช่วยนี้ประหยัดเวลาให้มากที่สุด
ทำไมต้องใช้ ISSN Validator?
- ตรวจ checksum ได้ทันที: วางหมายเลขที่ต้องการตรวจลงไป แล้วเห็นผลว่าถูกหรือผิดพร้อม check digit ที่คณิตศาสตร์ระบุจริง ๆ ในทันที
- รองรับ check digit แบบ X: ในทุก ๆ 11 ISSN ที่ถูกต้อง จะมีประมาณหนึ่งตัวที่ลงท้ายด้วย X เครื่องมือนี้ถือว่า X มีค่าเท่ากับ 10 ไม่ใช่พิมพ์ผิด
- แปลงบาร์โค้ดสองทิศทาง: เปลี่ยน ISSN เป็นรูปแบบ ISSN-EAN-13 (นำหน้าด้วย 977) สำหรับบาร์โค้ดหน้าปก หรือดึง ISSN คืนจาก EAN-13 ที่สแกนได้
- ยืดหยุ่นกับรูปแบบ input: ใส่แบบมีขีด มีช่องว่าง หรือติดกันหมดก็ได้ ข้อมูลที่คัดลอกมาแทบไม่ต้องเก็บก่อนใช้งาน
- เป็นส่วนตัว 100%: ทุกการคำนวณเกิดขึ้นในเบราว์เซอร์ หมายเลขของวารสารที่ยังไม่เผยแพร่จะไม่หลุดไปที่เซิร์ฟเวอร์ใดเลย
- ฟรีและไม่จำกัด: ไม่ต้องสมัครบัญชี ไม่มีโควตา ไม่มีระบบจ่ายเงิน ตรวจทีละตัวหรือเป็นชุดระหว่างเก็บกวาดข้อมูลก็ได้
ฟีเจอร์หลัก
| ฟีเจอร์ | ทำอะไร |
|---|---|
| ตรวจสอบ ISSN-8 | คำนวณ checksum แบบ mod-11 จาก 7 หลักแรก แล้วเทียบกับหลักที่ 8 |
| check digit แบบ X | ยอมรับ X เป็น check digit เมื่อค่าที่คำนวณได้เท่ากับ 10 |
| แปลง ISSN เป็น EAN-13 | สร้างเลข 977 + 7 หลักของ ISSN + เลขฉบับ 2 หลัก แล้วปิดท้ายด้วย check digit ของ EAN-13 |
| แปลง EAN-13 เป็น ISSN | ดึง 7 หลักแกนกลางจากบาร์โค้ดที่ขึ้นต้นด้วย 977 แล้วคำนวณ check digit ของ ISSN-8 ใหม่ |
| โหมดรูปแบบ | ตรวจจับอัตโนมัติ หรือบังคับเป็น ISSN-8 / ISSN-EAN-13 สำหรับ input ที่กำกับเสมอ |
| ทำงานฝั่ง client เท่านั้น | ทุกการคำนวณเกิดขึ้นในเบราว์เซอร์ ไม่มีการอัปโหลดหรือบันทึกข้อมูล |
มีรายละเอียดสองจุดที่ทำให้การแปลงมีประโยชน์เป็นพิเศษ อย่างแรกคือเลขระบุฉบับ 2 หลัก (issue number) ที่ใช้แยกแต่ละฉบับของสิ่งพิมพ์เดียวกัน โดยเครื่องมือจะใส่ค่าเริ่มต้นเป็น 00 เมื่อคุณสนใจแค่บาร์โค้ดระดับชื่อสิ่งพิมพ์ อีกจุดคือการแปลงย้อนกลับจะคำนวณ check digit แบบ mod-11 ขึ้นใหม่ตั้งแต่ต้น จึงช่วยจับบาร์โค้ดที่ถูกพิมพ์ผิดตอนสแกนหรือคีย์ข้อมูลได้ด้วย
วิธีใช้งาน
- เปิดเครื่องมือ เข้าไปที่ ISSN Validator โหลดเร็วมาก และใช้งานได้แม้แต่แคชหน้าเว็บไว้แล้ว
- วางหมายเลข ใส่ ISSN เช่น 0378-5955 หรือ EAN-13 เช่น 9770378595002 เครื่องมือจะลบขีดและช่องว่างออกให้เอง
- เลือกโหมดรูปแบบ ปล่อยไว้ที่ Auto เพื่อให้จำแนก ISSN-8 กับ ISSN-EAN-13 จากความยาวและเลขนำหน้า หรือบังคับเป็น ISSN-8 / ISSN-EAN-13 เมื่อคุณรู้แน่ชัดว่ากำลังตรวจอะไร
- อ่านผลลัพธ์ หมายเลขที่ถูกต้องจะแสดงรูปแบบมาตรฐานที่มีขีด พร้อม check digit ที่คำนวณได้ ส่วนตัวที่ผิดจะบอกว่าเลขหลักสุดท้ายไม่ตรงกับ checksum
- คัดลอกสิ่งที่ต้องการ ใช้ปุ่ม copy เพื่อเอารูปแบบ ISSN ปกติหรือ EAN-13 เต็ม ไปใช้กับเอกสาร ฉลาก หรือเทมเพลตของคุณ
เจาะลึก check digit ของ ISSN และรูปแบบบาร์โค้ด EAN-13
หลักการทำงานของ checksum แบบ mod-11
ISSN มี 8 ตัวอักษร คือเลข 7 หลักบวก check digit อีกหนึ่งตัว โดยเลข 7 หลักแรกจะถูกคูณด้วยน้ำหนักที่ไล่จาก 8 ลงมาถึง 2 จากซ้ายไปขวา จากนั้นนำผลคูณทั้งหมดมาบวกกันแล้วหารด้วย 11 ถ้าเศษจากการหารเป็น 0 ให้ check digit เป็น 0 ถ้าเศษเป็น 1 ให้ check digit เป็น X (แทนค่า 10) และถ้าเป็นเศษอื่น ให้ check digit เท่ากับ 11 ลบด้วยเศษนั้น
ตัวอย่างการคำนวณเต็มรูปแบบกับ 0378-5955:
| ตัวเลข | 0 | 3 | 7 | 8 | 5 | 9 | 5 |
|---|---|---|---|---|---|---|---|
| น้ำหนัก | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
| ผลคูณ | 0 | 21 | 42 | 40 | 20 | 27 | 10 |
ผลรวมคือ 160 เมื่อ 160 mod 11 = 6 check digit จะเท่ากับ 11 - 6 = 5 ซึ่งตรงกับเลขหลักสุดท้ายที่พิมพ์ไว้ แปลว่า ISSN นี้ถูกต้อง ลองดู 2434-561X ตัวอื่น ผลรวมถ่วงน้ำหนักคือ 122 และ 122 mod 11 เหลือเศษ 1 ดังนั้น check digit คือ X นี่คือเหตุผลที่ validator ที่รับเฉพาะตัวเลขจะปฏิเสธ ISSN จริง ๆ แบบนี้ไปโดยไม่จำเป็น
การแปลง ISSN เป็น EAN-13
หน้าปกวารสารที่มีบาร์โค้ดจะใช้ตัวเลข 13 หลักที่สร้างจาก ISSN โดยมีโครงสร้างคือ เลขนำหน้า 977 (รหัสที่จองไว้สำหรับสิ่งพิมพ์ต่อเนื่องในระบบ EAN) ตามด้วยเลขแกนกลางของ ISSN 7 หลัก เลขระบุฉบับ 2 หลัก และปิดท้ายด้วย check digit ของ EAN-13 ที่คำนวณจากน้ำหนักสลับ 1 กับ 3 ตลอด 12 หลักแรก สำหรับ 0378-5955 เมื่อเลขฉบับเป็น 00 ผลลัพธ์คือ 9770378595002 เครื่องสแกนไม่สามารถอ่าน ISSN ตรง ๆ ได้ ผู้ตีพิมพ์จึงพิมพ์รูปแบบ EAN-13 นี้ลงบนปก และ validator ตัวนี้สร้างให้ในคลิกเดียวพร้อมแปลงย้อนกลับได้เชื่อถือได้เท่ากัน
ISSN กับ ISBN ต่างกันอย่างไร
สองตัวระบุนี้มักถูกสับสนกัน ISSN ใช้ระบุทรัพยากรต่อเนื่อง หมายถึงวารสารทั้งฉบับ และคงค่าเดิมตลอดทุกฉบับ เป็นเลข 8 หลักที่ใช้ check digit แบบ mod-11 และลงท้ายด้วย X ได้ ส่วน ISBN ใช้ระบุหนังสือเล่มเดียวหรือฉบับพิเศษหนึ่ง ๆ เป็นเลข 13 หลักที่ใช้เลขนำหน้า 978 หรือ 979 พร้อมสูตร check digit คนละแบบ ง่าย ๆ คือถ้าเลขเริ่มด้วย 977 คือสิ่งพิมพ์ต่อเนื่อง แต่ถ้าเริ่มด้วย 978 หรือ 979 คือหนังสือ
กรณีการใช้งานจริง
เวิร์กโฟลว์การตีพิมพ์วารสาร
ทีมกองบรรณาธิการใช้ตรวจ ISSN ที่พิมพ์บนหน้าแรกก่อนทุกฉบับจะส่งโรงพิมพ์ และสร้าง EAN-13 ที่ถูกต้องให้บริษัททำบาร์โค้ด การเจอ check digit ที่ผิดตอนจัดหน้าใช้เวลาแค่ไม่กี่วินาที แต่ถ้าเจอหลังพิมพ์ปกไปแล้วหลายพันชิ้นก็ต้องพิมพ์ใหม่ทั้งล็อต
การนำเข้ารายการในระบบห้องสมุด
นักบรรณาธิการที่โหลดรายการจากผู้ขายข้อมูลสามารถสุ่มตรวจค่าในฟิลด์ 022 เป็นชุด ๆ ได้ เพราะรายการที่ ISSN ไม่ผ่านการทดสอบ mod-11 แทบจะมักมีข้อผิดพลาดจากการคัดลอกเสมอ และการแก้ก่อนนำเข้าจะช่วยป้องกันรายการซ้ำหรือรายการที่ค้นไม่เจอ
การดูแลความสะอาดข้อมูลใน citation manager
ฐานข้อมูลการอ้างอิงสะสม ISSN จากหลายแหล่ง ทั้งจาก PDF สเปรดชีต และรายการที่นำเข้ามาคุณภาพไม่เท่ากัน การเอาเลขที่เก็บไว้มาผ่าน validator จะช่วยชี้รายการที่เสียหาย เพื่อให้การส่งออกไปยังซอฟต์แวร์บรรณานุกรมมีตัวระบุที่ใช้งานได้จริง
ฟอร์มของพอร์ทัลวิชาการ
ระบบรับบทความที่ให้ผู้เขียนกรอก ISSN ของวารสาร ควรตรวจสอบตั้งแต่ตอนกรอก การตรวจ checksum แบบเรียลไทม์จะหยุดหมายเลขที่พิมพ์ผิดตั้งแต่ต้นทาง แทนที่จะไปเจอตอนตรวจซ้ำด้วยมืออีกหลายสัปดาห์ถัดมา
แนวทางปฏิบัติที่ดีที่สุด
- รักษารูปแบบมีขีดไว้สำหรับการแสดงผล เช่น 1234-5678 ในเอกสารที่คนอ่าน และเก็บเป็นตัวอักษร 8 ตัวที่สะอาดในฐานข้อมูล
- ตรวจสอบตั้งแต่ตอนป้อนข้อมูล ไม่ใช่ตอนส่งออก การตรวจตอนพิมพ์หรือนำเข้าครั้งแรกถูกกว่าการไล่ตรวจทีหลังเสมอ
- จดทะเบียนกับศูนย์ ISSN ก่อนพิมพ์บาร์โค้ด เครื่องมือแปลงยืนยันแค่คณิตศาสตร์ แต่มีเพียง ISSN International Centre เท่านั้นที่ออกหมายเลขจริงให้
- ถือว่าเลขฉบับ 2 หลักใน EAN-13 เป็นข้อมูลที่ต้องยืนยัน ว่าคู่ค้าของคุณต้องการ 00 ลำดับฉบับ หรือรูปแบบเฉพาะของตนเอง
- ตรวจซ้ำเลขที่คัดลอกจากปกที่สแกน เพราะข้อผิดพลาดของ OCR ชอบสลับเลขซึ่ง checksum จะจับได้ทันที
- ใช้การตรวจ ISSN ควบคู่กับการตรวจชื่อสิ่งพิมพ์ เพราะ checksum ที่ผ่านพิสูจน์แค่ว่ารูปแบบถูกต้อง ไม่ได้รับประกันว่าเป็นวารสารที่คุณตั้งใจอ้างถึง
ตรวจสอบ ISSN ถัดไปของคุณภายในไม่กี่วินาที
เปิด ISSN Validator วางหมายเลขลงไป แล้วรับคำตอบที่ชัดเจนพร้อม check digit ที่ถูกต้องและรูปแบบบาร์โค้ดครบชุด ฟรี เป็นส่วนตัว และเร็วพอจะใช้กับข้อมูลนำเข้าทั้งชุดได้สบาย
เครื่องมือที่เกี่ยวข้องที่คุณอาจสนใจ:
- GTIN Validator — ตรวจสอบบาร์โค้ดสินค้า EAN/UPC รวมถึง check digit น้ำหนัก 1-3 แบบเดียวกับที่ ISSN-EAN-13 ใช้
- IMEI Checker — ตรวจสอบหมายเลข 15 หลักของอุปกรณ์มือถือด้วยอัลกอริทึม Luhn
- JSON Formatter — จัดระเบียบและตรวจข้อมูลเมทาดาทาแบบโครงสร้างที่มีฟิลด์ ISSN อยู่ข้างใน
ขอให้สนุกกับการตรวจสอบข้อมูล!
คำถามที่พบบ่อย
ถ: ISSN กับ ISBN ต่างกันอย่างไร? ตอบ: ISSN ใช้ระบุทรัพยากรต่อเนื่องอย่างวารสารหรือนิตยสาร และใช้เลขเดิมกับทุกฉบับ ส่วน ISBN ใช้ระบุหนังสือเล่มหนึ่งในฉบับเฉพาะ ISSN เป็นเลข 8 หลักใช้ check digit แบบ mod-11 ขณะที่ ISBN เป็นเลข 13 หลักที่ใช้เลขนำหน้า 978/979
ถ: ทำไมบาง ISSN ถึงลงท้ายด้วยตัวอักษร X? ตอบ: X เป็น check digit ที่ถูกต้องตามกฎ แทนค่า 10 โดยจะเกิดขึ้นเมื่อผลรวมถ่วงน้ำหนักของ 7 หลักแรกหารด้วย 11 แล้วเหลือเศษ 1 ดังนั้นหมายเลขอย่าง 2434-561X จึงเป็น ISSN ที่ใช้ได้ตามปกติ
ถ: เลข ISSN-EAN-13 เหมือนบาร์โค้ด ISBN หรือไม่? ตอบ: ไม่เหมือน ISSN-EAN-13 ขึ้นต้นด้วย 977 และระบุสิ่งพิมพ์ต่อเนื่อง ขณะที่บาร์โค้ดหนังสือใช้ 978 หรือ 979 นอกจากนี้ชุดตัวเลขตรงกลางและสูตรคำนวณ check digit ก็ต่างกันด้วย
ถ: ISSN Validator อัปโหลดหรือเก็บหมายเลขที่ผมวางหรือเปล่า? ตอบ: ไม่ครับ ตรรกะการตรวจสอบและแปลงทั้งหมดทำงานในเบราว์เซอร์ของคุณด้วย JavaScript ฝั่ง client ล้วน ๆ จึงไม่มีข้อมูลใดถูกส่งไปหรือจัดเก็บบนเซิร์ฟเวอร์
ถ: ใส่ ISSN แบบไม่มีขีดได้ไหม? ตอบ: ได้ เครื่องมือจะปรับรูปแบบ input โดยลบขีดและช่องว่างออกก่อน แล้วแสดงผลตามมาตรฐานที่มีขีดกลับมาให้เมื่อหมายเลขนั้นถูกต้อง