Difference between revisions of "FormatISBN10"

From Sega Retro

 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly>{{#if:{{{1|}}}|<div style="display:none;">{{#vardefine:isbn10raw|{{#replace:{{{1|}}}|-||}}}}{{#vardefine:isbn10raw|{{#replace:{{#var:isbn10raw}}| ||}}}}
+
<includeonly>{{#if:{{{1|}}}|{{#ifeq:{{{1}}}|none|N/A|<div style="display:none;">{{#vardefine:isbn10raw|{{#replace:{{{1|}}}|-||}}}}{{#vardefine:isbn10raw|{{#replace:{{#var:isbn10raw}}| ||}}}}
 
{{#ifexpr:{{#len:{{#var:isbn10raw}}}} != 10|{{#ifeq:{{{link|}}}|yes|[[Category:Incorrect ISBN-10]]}}|}}
 
{{#ifexpr:{{#len:{{#var:isbn10raw}}}} != 10|{{#ifeq:{{{link|}}}|yes|[[Category:Incorrect ISBN-10]]}}|}}
  
 
{{#vardefine:isbn10region|{{#sub:{{#var:isbn10raw}}|0|1}}}}
 
{{#vardefine:isbn10region|{{#sub:{{#var:isbn10raw}}|0|1}}}}
 
{{#ifexpr:{{#var:isbn10region}} > 4 and {{#var:isbn10region}} != 7
 
{{#ifexpr:{{#var:isbn10region}} > 4 and {{#var:isbn10region}} != 7
|{{#vardefine:isbn10region|{{#sub:{{#var:isbn10raw}}|0|2}}}}{{#vardefine:isbn10etc|{{#sub:{{#var:isbn10raw}}|2|7}}}}[[Category:ISBN-10 is probably wrong]]
+
|{{#vardefine:isbn10region|{{#sub:{{#var:isbn10raw}}|0|2}}}}{{#vardefine:isbn10etc|{{#sub:{{#var:isbn10raw}}|2|7}}}}{{#ifexpr:{{#var:isbn10region}} != 65 and ({{#var:isbn10region}} < 80 or {{#var:isbn10region}} > 94)|[[Category:ISBN-10 is probably wrong]]|}}
 
|{{#vardefine:isbn10etc|{{#sub:{{#var:isbn10raw}}|1|8}}}}
 
|{{#vardefine:isbn10etc|{{#sub:{{#var:isbn10raw}}|1|8}}}}
 
}}
 
}}
Line 10: Line 10:
 
{{#vardefine:isbn10|{{#var:isbn10region}}-{{#var:isbn10etc}}-{{#var:isbn10checkdigit}}}}
 
{{#vardefine:isbn10|{{#var:isbn10region}}-{{#var:isbn10etc}}-{{#var:isbn10checkdigit}}}}
  
</div>{{#ifeq:{{{link|}}}|yes|[http://www.worldcat.org/isbn/{{#var:isbn10}} {{#var:isbn10}}]|{{#var:isbn10}}}}|}}{{#vardefine:isbn10|}}{{#vardefine:isbn10raw|}}{{#vardefine:isbn10region|}}{{#vardefine:isbn10etc|}}{{#vardefine:isbn10checkdigit|}}</includeonly><noinclude>
+
</div>{{#ifeq:{{{link|}}}|yes|[http://www.worldcat.org/isbn/{{#var:isbn10}} {{#var:isbn10}}]|{{#var:isbn10}}}}}}|}}{{#vardefine:isbn10|}}{{#vardefine:isbn10raw|}}{{#vardefine:isbn10region|}}{{#vardefine:isbn10etc|}}{{#vardefine:isbn10checkdigit|}}</includeonly><noinclude>
  
 
Template for formatting ISBN-10 numbers. Hypens and spaces are stripped out at the start.
 
Template for formatting ISBN-10 numbers. Hypens and spaces are stripped out at the start.
Line 29: Line 29:
 
{{FormatISBN10|5073 055501}}
 
{{FormatISBN10|5073 055501}}
  
[[Category:Sega Retro templates]]
+
[[Category:Templates]]
 
</noinclude>
 
</noinclude>

Latest revision as of 14:08, 1 January 2022


Template for formatting ISBN-10 numbers. Hypens and spaces are stripped out at the start.


The format for ISBN-10 is

[region]-[publisher]-[title]-[checkdigit]

the region is a fixed length (depending on where it came from), but the publisher and title fields can be any length, so they're currently grouped together.

Examples

{{FormatISBN10|4073055501|link=yes}}




4-07305550-1


{{FormatISBN10|5073 055501}}


50-73 0555-01