首页 > 编程 > Regex > 正文

15.9.如何使用正则表达式来验证ISBN号

2024-09-07 17:39:54
字体:
来源:转载
供稿:网友
15.9.1 问题
如何创建一个正则表达式用以验证国际标准图书号码(ISBN)呢?

15.9.2 解决办法
根据ISBN 的特性, 它一般都是一个10 位至13 数字组成, 有时候会以”X”作为结尾, 并会以”-“号来分隔数组。我们需要根据这个特性去创建所需的正则表达式。

15.9.3 讨论
这条表达式中的”^”号跟”$”限制了该模式只可以存在于单行中。如果一个文本中有多个不同的ISBN 存在, 这些符号是可以除去的。
代码如下:
+展开
-ActionScript
private var isbnReg:RegExp = /^(?=.{13}$)/d{1,5}([-])/d{1,7}/1/d{1,6}/1(/d|X)$/;
private function testISBN():void {
var s:String ="ISBN 1-56389-016-X";
trace(s.match(isbnReg));
}

“^”号表示该行一定要以这个模式作为起首, 而”$”号则表示该行的结尾的模式, 而”-“号就是表示ISBN 的数字组之间可以用”-“来分隔。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表