详情可参考:书号-维基百科,或是下面的ISBN号:
国际标准书号(ISBN国际标准书号,;准明显是Ben)是一个国际性的、独立的出版物(除常规代码书籍或期刊),出版社书号清楚地识别所有非期刊书籍。相应的书号只有一个或一份相应的出版物,如果新版本。不会改变太多的旧版本,它将不会得到一个新的国际标准书号出版时。当平装精装出版,ISBN号原来相应的国际标准也应恢复。
通常我们可以看到ISBN号有10位和13位两种,其中10号已停止自2007年1月,现在最新出版的书的ISBN码是13位。考虑一个严格的图书馆管理程序应在很多方面的问题考虑,因为10 ISBN码书或数额巨大的幸存下来的,所以验证的ISBN代码的正确性,我们还必须考虑10位和13位,可以从维基百科ISBN代码最后检查代码学习实际上是要检查ISBN代码是正确的,ISBN书号的校验计算,看是否与最后一个协议。这里的校验只是为了检查ISBN的组成是合法的,但没有书号的出版的书籍。以下由于是维基百科提供的书号算法代码:
校验码的计算方法(10码)
ISBN编号前9的是:7-309-04547
加权和S=7×10+3×**×90 89 70×5×5×64×44×37×2=226
s 11余数m的计算:m=226模11=6
计算11米的差值n=n=116=5
如果n=10,则校验码为字母x 。
如果n=11,则校验码是一个数字0 。
如果n是另一个数字,则校验码是一个数字n。
因此,这本书的校验码是5;如果用户的7-309-04547-6 ISBN代码,然后检查失败是失败。
校验码的计算方法(13码)
ISBN编号前12的是:978-986-181-728
计算加权和S =(9×1)+(7×3)+(8×1)+(9×3)+(8×1)+(6×3)+ + + + + +
s 10余数m的计算:m=164模10=4
计算10米的差值n=n=104=6
如果n=10,则校验码是一个数字0 。
如果n是另一个数字,则校验码是一个数字n。
所以,这本书的校验码是978-986-181-728-6号全6.isbn国际标准书号
好了,背景资料介绍,和ISBN代码检查功能(PHP版)我写下可以直接使用,如果你需要它。
复制代码代码如下所示:
功能isbn_sum($美元ISBN,Len)
{
*
这个函数是用来计算书号的加权总和
*参数说明:
* $书号:ISBN码
* $ len:ISBN码长
* /
美元= 0;
如果($ = 10)
{
为($我= 0;美元美元美元我<< len-1;i++)
{
美元美元金额=金额+(int)$ ISBN { $我} *($莱恩- $我);
}
}
($ len = 13)
{
为($我= 0;美元美元美元我<< len-1;i++)
{
如果($ i = 2 = 0)
美元美元金额=金额+(int)$ ISBN { $我};
其他的
美元美元金额=金额+(int)$ ISBN { $我}×3;
}
}
退回美元;
}
功能isbn_compute($美元ISBN,Len)
{
*
该函数用于计算校验码ISBN底
*参数说明:
* $书号:ISBN码
* $ len:ISBN码长
* /
如果($ = 10)
{
数字= 11美元(美元美元isbn_sum ISBN,Len)% 11;
如果($ = 10)
$ RC = 'x';
否则如果($ = 11)
$ RC = '0';
其他的
$ =(字符串)$数字;
}
否则如果($ = 13)
{
数字= 10美元(美元美元isbn_sum ISBN,Len)% 10;
如果($ = 10)
$ RC = '0';
其他的
$ =(字符串)$数字;
}
返回$;
}
功能is_isbn($ ISBN)
{
*
这个函数是用来判断是否是国际标准书号
*参数说明:
* $书号:ISBN码
* /
$ len = strlen($ ISBN);
如果($)!= 10美元!= 13)
返回0;
RC = isbn_compute美元(美元美元ISBN,Len);
如果len-1 } { $($ ISBN!= $ RC / ISBN)校验和尾数计算不一致。
返回0;
其他的
返回1;
}

当函数被写入时,您可以直接调用它,下面是调用示例:
复制代码代码如下所示:


另外,我写了一个ISBN在线验证工具,它可以检查ISBN代码在线效力,并点击下面的链接:ISBN码在线验证工具。