>  기사  >  백엔드 개발  >  ISBN 코드 확인을 위한 지젤 번천 PHP 함수 코드

ISBN 코드 확인을 위한 지젤 번천 PHP 함수 코드

WBOY
WBOY원래의
2016-07-29 08:44:12817검색

자세한 내용은 다음을 참조하세요. 국제 표준 도서 번호 – Wikipedia. ISBN 코드에 대한 간략한 설명은 다음과 같습니다.
국제 표준 도서 번호(ISBN, is-ben으로 발음)는 국제적으로 인정되는 코드입니다. 서적 또는 출판물에 대한 독립 코드(정기적으로 출판되는 저널 제외). 출판사는 국제 표준 도서 번호로 모든 비저널 도서를 명확하게 식별할 수 있습니다. ISBN에는 그에 해당하는 출판물이 하나만 있습니다. 새 버전이 원본 이전 버전을 기반으로 내용에 큰 변화가 없는 경우, 출판 시 새로운 ISBN 번호를 부여받지 않습니다. 단행본을 하드커버 출판으로 변경하는 경우, 해당 ISBN 번호도 함께 철회되어야 합니다.
우리가 흔히 볼 수 있는 ISBN 코드는 10자리와 13자리 두 가지입니다. 10자리 ISBN은 2007년 1월부터 폐지되었습니다. 현재 새로 출판되는 책의 ISBN 코드는 모두 13자리입니다. 엄격한 도서관 관리 프로그램이 여러 측면을 고려해야 한다는 점을 고려하면, 여전히 10자리 ISBN 코드를 가진 도서가 엄청나게 많기 때문에 도서 ISBN 코드의 정확성을 확인하려면 10자리와 10자리 ISBN 코드를 모두 고려해야 합니다. 13자리 ISBN 비트 상황. 위키피디아를 보면 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
나머지 M 계산 of S¼11: M = 226 mod 11 = 6
11 – M 계산 차이 N: N = 11 ? 6 = 5
N = 10인 경우 확인 코드는 문자 "X"입니다.
N = 11이면 검사코드는 숫자 "0"입니다.
N이 다른 숫자이면 검사코드는 숫자 N입니다.
따라서 에서 제공하는 ISBN 코드인 경우 이 책의 검사코드는 5입니다. 사용자가 7-309-04547-6이면 인증 실패
체크 코드(13자리) 계산 방법
ISBN 번호의 첫 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의 차이 N을 계산합니다. – M: 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 (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 = (문자열)$digit;
}
else if($len == 13)
{
$digit = 10 - isbn_sum($isbn, $len) % 10; if ($digit == 10)
$rc = '0';
else
$rc = (string)$digit;
return $rc; 🎜>함수 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;
}


함수를 작성한 후 직접 호출할 수 있습니다.



코드를 복사하세요. 🎜>
코드는 다음과 같습니다.



>

또한 온라인 ISBN 확인 도구를 작성했습니다. 이 도구를 사용하여 온라인으로 ISBN 코드의 적법성을 확인할 수 있습니다. ISBN 코드 온라인 확인 도구를 클릭하면 사용할 수 있습니다. 위 내용은 지젤 번천의 내용을 포함하여 ISBN 코드를 검증하기 위한 지젤 번천 PHP의 함수 코드를 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.