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

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 的数字组之间可以用”-“来分隔。

加支付宝好友偷能量挖...


评论(0)网络
阅读(247)喜欢(0)flash/flex/fcs/AIR