gpt4 book ai didi

java - 有没有办法在存储到数据库之前检查 ISBN 号是否有效

转载 作者:行者123 更新时间:2023-12-01 18:49:32 27 4
gpt4 key购买 nike

我想知道是否有网络服务或数据库可以让我们在将用户输入存储到数据库之前以编程方式检查用户输入是否为有效的 ISBN 编号。或者是否有一种算法允许程序员这样做

最佳答案

如果看Wikipedia page ,他们有一个简单的算法来确保 ISBN 有效:

bool is_isbn_valid(char digits[10]) {
int i, a = 0, b = 0;
for (i = 0; i < 10; i++) {
a += digits[i]; // Assumed already converted from ASCII to 0..9
b += a;
}
return b % 11 == 0;
}

当然,这并不能确保它是真实的,只有可能;)

编辑:这包括 ISBN 13 规范:(它未经测试,并且在与维基百科功能相同的伪代码中)

bool is_valid_isbn(char isbn[]) {
int sum = 0;
if(isbn.length == 10) {
for(int i = 0; i < 10; i++) {
sum += i * isbn[i]; //asuming this is 0..9, not '0'..'9'
}

if(isbn[9] == sum % 11) return true;
} else if(isbn.length == 13) {

for(int i = 0; i < 12; i++) {
if(i % 2 == 0) {
sum += isbn[i]; //asuming this is 0..9, not '0'..'9'
} else {
sum += isbn[i] * 3;
}
}

if(isbn[12] == 10 - (sum % 10)) return true;
}

return false;
}

关于java - 有没有办法在存储到数据库之前检查 ISBN 号是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4270657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com