精灵巫婆 发表于 2015-2-3 23:40:51

PHP网页设计PHP校验ISBN码的函数代码

学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...   具体材料可以参考:国际尺度书号 C 维基百科,上面仍是简述一下甚么是ISBN码:
国际尺度书号(International Standard Book Number,ISBN;拟发音is-ben),是国际通用的图书或自力的出书物(除按期出书的期刊)代码。出书社可以经由过程国际尺度书号明晰的识别一切非期刊书本。一个国际尺度书号只要一个或一份响应的出书物与之对应。新版本假如在本来旧版的基本上没有内容上太大的变化,在出书时也不会失掉新的国际尺度书号码。当平装本改成平装本出书时,本来响应的国际尺度书号号码也应该发出。
平凡咱们可以见到的ISBN码有10位和13位两种,个中10位的ISBN自2007年1月起已中断利用,今朝新出书的图书ISBN码都是13位。思索到一个严谨的图书办理法式要思索到多方面的成绩,由于10位ISBN码的图书仍是有伟大的存世量的,所以要校验图书ISBN码的准确性,就必需同时思索10位和13位的情形。从维基百科可以懂得到ISBN码最初一名是校验码,其实要想校验ISBN码的准确,就是经由过程盘算ISBN的校验码,看是不是与最初一名吻合。这里所说的校验也只是校验ISBN在组成上是不是正当,而不会校验是不是为已刊行图书的ISBN。上面是维基百科供应的ISBN码校验算法:
校验码的盘算办法(10码)
假定某国际尺度书号号码前9位是:7-309-04547
盘算加权和S:S = 7×10+3×9+0×8+9×7+0×6+4×5+5×4+4×3+7×2 = 226
盘算S÷11的余数M:M = 226 mod 11 = 6
盘算11 C M 的差N:N = 11 ? 6 = 5
假如N = 10,校验码是字母"X"
假如N = 11,校验码是数字"0"
假如N为其他数字,校验码是数字N
所以,本书的校验码是5;假如用户供应的ISBN码是7-309-04547-6,那末校验掉败
校验码的盘算办法(13码)
假定某国际尺度书号号码前12位是:978-986-181-728
盘算加权和S:S = (9×1)+(7×3)+(8×1)+(9×3)+(8×1)+(6×3)+(1×1)+(8×3)+(1×1)+(7×3)+(2×1)+(8×3) = 164
盘算S÷10的余数M:M = 164 mod 10 = 4
盘算10 C M 的差N:N = 10 ? 4 = 6
假如N = 10,校验码是数字"0"
假如N为其他数字,校验码是数字N
所以,本书的校验码是6。完全的国际尺度书号号码为 ISBN 978-986-181-728-6
好了,后台常识引见到这,上面我写的ISBN码校验函数(php版),需求的话可以直接利用:
复制代码 代码以下:
function isbn_sum($isbn, $len)
{
/*
* 该函数用于盘算ISBN加权和
* 参数申明:
* $isbn : isbn码
* $len : isbn码长度
*/
$sum = 0;
if ($len == 10)
{
for ($i = 0; $i < $len-1; $i++)
{
$sum = $sum + (int)$isbn[$i] * ($len - $i);
}
}
elseif ($len == 13)
{
for ($i = 0; $i < $len-1; $i++)
{
if ($i % 2 == 0)
$sum = $sum + (int)$isbn[$i];
else
$sum = $sum + (int)$isbn[$i] * 3;
}
}
return $sum;
}
function isbn_compute($isbn, $len)
{
/*
* 该函数用于盘算ISBN末位校验码
* 参数申明:
* $isbn : isbn码
* $len : isbn码长度
*/
if ($len == 10)
{
$digit = 11 - isbn_sum($isbn, $len) % 11;
if ($digit == 10)
$rc = 'X';
else if ($digit == 11)
$rc = '0';
else
$rc = (string)$digit;
}
else if($len == 13)
{
$digit = 10 - isbn_sum($isbn, $len) % 10;
if ($digit == 10)
$rc = '0';
else
$rc = (string)$digit;
}
return $rc;
}
function is_isbn($isbn)
{
/*
* 该函数用于判别是不是为ISBN号
* 参数申明:
* $isbn : isbn码
*/
$len = strlen($isbn);
if ($len!=10 && $len!=13)
return 0;
$rc = isbn_compute($isbn, $len);
if ($isbn[$len-1] != $rc) /* ISBN尾数与盘算出来的校验码不符 */
return 0;
else
return 1;
}

函数写好后,就能够直接挪用了,上面是挪用示例:
复制代码 代码以下:
<?php echo is_isbn('9787507421781') ? '校验经由过程' : '校验掉败'; ?>

别的我写了一个在线校验ISBN的东西,利用该东西可以在线校验ISBN码的正当性,可以点击以下链接利用:ISBN码在线校验东西聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。

活着的死人 发表于 2015-2-4 05:58:52

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

因胸联盟 发表于 2015-2-9 16:34:12

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

愤怒的大鸟 发表于 2015-2-24 21:05:35

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

山那边是海 发表于 2015-2-28 10:15:08

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

透明 发表于 2015-3-5 19:33:00

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

仓酷云 发表于 2015-3-6 21:54:40

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

若天明 发表于 2015-3-12 13:19:03

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

深爱那片海 发表于 2015-3-14 23:59:54

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

柔情似水 发表于 2015-3-21 14:57:06

写的比较杂,因为我也是个新手,不当至于大家多多指正。

乐观 发表于 2015-3-22 23:10:45

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

小妖女 发表于 2015-3-26 21:38:14

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

不帅 发表于 2015-4-4 01:02:12

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

第二个灵魂 发表于 2015-4-4 21:49:01

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

蒙在股里 发表于 2015-4-7 19:07:34

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

再见西城 发表于 2015-4-26 18:08:36

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

变相怪杰 发表于 2015-5-6 01:10:02

本文当是我的笔记啦,遇到的问题随时填充

爱飞 发表于 2015-5-11 06:11:33

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

再现理想 发表于 2015-6-12 19:16:25

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

简单生活 发表于 2015-6-20 02:04:13

做为1门年轻的语言,php一直很努力。
页: [1] 2
查看完整版本: PHP网页设计PHP校验ISBN码的函数代码