65.9K
CodeProject 正在变化。 阅读更多。
Home

ISBN13 验证

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.83/5 (3投票s)

2007年3月27日

CPOL

2分钟阅读

viewsIcon

46321

downloadIcon

846

在类或 CustomValidator 中验证 ISBN13 号码的格式和正确校验和(ISBN:图书参考号)

Example in ASP.NET and WinForms

引言

这是我的第一篇文章,希望不是最后一篇。我一直在寻找一篇好的、简单的文章来开始。我希望这是一个好的开始,并且大家可以使用我的代码。

这篇文章的功能是解释我创建的 ISBN13 验证对象的功能。它验证 ISBN International 指定的几个不同的方面。我将在本文中解释它们。

背景

ISBN 编号的基本思想是书籍的代码标准。对于那些想了解更多关于 ISBN 的人,这里有一些来自 WikipediaISBN International 的信息。

相关文章

The Code Project 上还有另一篇文章 (ASP.NET ISBN 验证器) 关于 ISBN 验证。但是,有一些区别。

这段代码

  • 是用 C# 编写的
  • 有一个单独的 ISBN13 验证类
  • 验证分组和未分组的 ISBN13 编号
  • 仅验证 ISBN13 编号(目前是标准)

Using the Code

代码非常基础和直接。该库有一个类 ISBN.ISBN13。这是一个示例代码,用于演示该类的用法。如你所见,构造函数有一个重载,可以直接输入 ISBN。

ISBN.ISBN13 isbnValid = new ISBN13();
isbnValid.ISBN = "978-0-571-08989-5";

ISBN.ISBN13 isbnValid2 = new ISBN13("978-0-571-08989-5");

ISBN 设置后会立即进行验证。你可以使用 IsValid 属性查看它是否有效。

ISBN13 还有一些有趣的 static 方法。这些方法易于使用。

  • IsValidISBN(string isbn) : bool 
  • GetISBNFormat(string isbn) : ISBNGroupingFormat 
  • ValidateChecksum(string isbn) : bool 

要使用验证器控件,请添加 ToolboxItem。这样你就可以拖放该控件。它继承自 CustomValidator 控件。验证由 ISBN13 类完成。

你也可以在 ASP 表单中使用以下内容来使用 ISBN 验证器。

    <%@ register assembly="ISBN" namespace="ISBN.Web" tagprefix="cc1" %> 
    <%cc1:isbn13validator controltovalidate="TextBox1" 
    runat="server" id="ISBN13Validator1"%> 
</cc1:isbn13validator%>

关注点

最有趣的一点是用于验证分组 ISBN 的复杂的 RegEx 字符串 。这是我编写的第一个这么长的 RegEx 吗?

历史

  • 2007 年 3 月 27 日:初始发布
© . All rights reserved.