ActionScript 3 使用RegExp验证ISBN
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActionScript 3 使用RegExp验证ISBN相关的知识,希望对你有一定的参考价值。
public function validateISBN10(isbn10:String):Boolean
{
isbn10 = isbn10.replace(/[ -]/g, '');
if (isbn10.length != 10)
{
return false;
}else
{
var valid:Boolean;
var weights:Array = [10, 9, 8, 7, 6, 5, 4, 3, 2];
var digits:Array = isbn10.split('');
var control:String = digits.pop();
var result:uint = 0;
for (var i:uint = 0; i < 9; i++)
{
digits[i] = digits[i] * weights[i];
result += digits[i];
}
result = (result%11==0)?0:(11 - result % 11);
switch(result)
{
case 10:
valid = (control.toLowerCase() == 'x');
break;
default:
valid = control == String(result);
break;
}
return valid;
}
}
public function validateISBN13(isbn13:String):Boolean
{
var digits:Array = isbn13.match(/\d/g);
var control:uint = digits.pop();
var result:uint;
var weight:uint;
if (digits.length != 12)
{
return false;
}else {
for (var i:uint = 0; i < 12; i++)
{
weight = (i % 2 == 0)?1:3;
digits[i] = digits[i] * weight;
result += digits[i];
}
result = (result % 10 == 0)?0:(10 - result % 10);
return (result == control);
}
}
以上是关于ActionScript 3 使用RegExp验证ISBN的主要内容,如果未能解决你的问题,请参考以下文章
ActionScript 3 使用RegExp验证卡号
ActionScript 3 使用RegExp验证日历日期
ActionScript 3 使用RegExp验证Web地址
ActionScript 3 使用RegExp验证电话号码
ActionScript 3 使用RegExp验证电子邮件地址
ActionScript 3 通过RegExp进行URL验证