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验证