检查ISBN号码是否合法

[程序语言] PHP

[源码来源] http://px.sklar.com
[功能描述] 检查用户输入的ISBN号码(可以带也可以不带连字符号)是否合法。

源代码如下:

<?php
/*
* Check to see if the entered isbn is valid and return
* true or false depending.
* I'm not even going to try to claim copyright for such
* a simple thing. Do what you will with it.
* 8-) Keith Nunn, kapn@anglican.ca
*/
function checkisbn($isbn) {
$isbn10 = ereg_replace("[^0-9X]","",$isbn);
$checkdigit = 11 - ( ( 10 * substr($isbn10,0,1) + 9 * substr($isbn10,1,1) + 8 * substr($isbn10,2,1) + 7 * substr($isbn10,3,1) + 6 * substr($isbn10,4,1) + 5 * substr($isbn10,5,1) + 4 * substr($isbn10,6,1) + 3 * substr($isbn10,7,1) + 2 * substr($isbn10,8,1) ) % 11);
if ( $checkdigit == 10 ) $checkdigit = "X";
if ( $checkdigit == 11 ) $checkdigit = 0;
if ( $checkdigit == substr($isbn10,9,1) ) {
return true;
}
else {
return false;
}
}
?>

时间: 2024-10-30 10:54:50

检查ISBN号码是否合法的相关文章

身份证校验,检查身份证号码输入是否正确

Netkiller MySQL 手札 MySQL MariaDB... Mr. Neo Chan, 陈景峰(BG7NYT) 中国广东省深圳市龙华新区民治街道溪山美地518131+86 13113668890+86 755 29812080<netkiller@msn.com> 文档始创于2010-11-18 版权 2011, 2012, 2013 Netkiller(Neo Chan). All rights reserved. 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信

WIKIOI-1146 ISBN号码

1146 ISBN号码 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-"是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码.ISBN码的首位数字表示书籍的出版语言,例如0代表英语:第一个分隔符"-"之后的三位数字代表出版社,例如670代表维京出版社:第二个分隔之后的五位数字代表该书在出版社的编

JavaScript正则表达式验证身份证号码是否合法(两种方法)_正则表达式

第一种方法: 在用户注册页面有些需求要求的比较严格,需要对身份证js验证是否合法,通过此功能严格此系统软件,从而过滤到很多水客.下面就此实现方法给大家讲解下. 很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息: 1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.

如何判断拨打的手机号码及存储的号码是否合法?

今天通过程序要写电话号码到手机里面去,但是对这个号码规则不是太懂.上网搜索了一下也还是没有找到. 于是我手头不是有mtk的代码嘛,直接看程序里面是怎么判断的不就行了. 最终找到函数mmi_phb_op_check_valid_number();对代码进行分析发现也很简单. 总结规律如下: 1.首先号码里面只能有1234567890*#pw+,其他都是非法字符. 其中123456789×#使用是一样的.可以出现数字的地方就可以出现"*","#" 2."+&q

如何用javascript正则表达式验证身份证号码是否合法_正则表达式

在用户注册页面有些需求要求的比较严格,需要对身份证验证是否合法,通过此功能严格此系统软件,从而过滤到很多水客.下面就此实现方法给大家讲解下. 很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息: 1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 2.地址码(前六

PHP使用SimpleXML检查XML文件结构是否合法实例

利用 SimpleXML 去检查 XML 结构是否符合规格,为了让这个程序可以多用途,采用了一个基准文件的作为结构准则,依据里面定义的节点跟属性,去检查文件是否符合基本要求的格式.  代码如下 复制代码 <?php    /**检查 XML 文件结构   * @param string $baseFilePath 基准结构文件   * @param string $checkFilePath 待检查文件   * @return bool 当结构与基准文件相符合时则传递 true,否则是 fals

简单的检查输入email是否合法程序

程序 function chkEmail(email) on error resume next dim i,l,pos1,pos2 chkEmail=true if isnull(email) then chkEmail=false:exit function pos1= instr(email,"@") pos2=instrRev(email,".") if not(pos1>0) or not (pos2>0) or pos1>pos2 th

如何用JS来判断输入的一个ISBN号码的合法性

问题描述 如题所示求高手解决急急急 解决方案 解决方案二:群号:85963422进来聊吧解决方案三:varstr="2-02-033598-0";varpattren=/d{1,5}([-]?)d{2,5}1d{1,6}1[d|X]/g;alert(pattren.test(str));if(pattren.test(str)){alert("匹配");}

正则表达式简单的检查输入email是否合法程序_正则表达式

function chkEmail(email) on error resume next dim i,l,pos1,pos2 chkEmail=true if isnull(email) then chkEmail=false:exit function  pos1= instr(email,"@") pos2=instrRev(email,".") if not(pos1>0) or not (pos2>0) or pos1>pos2 then