JavaScript в Acrobat. Алгоритм проверки валидности ИНН.

Статус
Закрыто для дальнейших ответов.

gladson

Участник
Топикстартер
Сообщения
14
Реакции
0
Прошу откликнуться специалистов по JavaScript.

Почему не работает скрипт?
Код:
<script type="text/javascript">
// Функция для проверки правильности ИНН
function is_valid_inn(i)
{
    if ( i.match(/\D/) ) return false;
    
    var inn = i.match(/(\d)/g);
    
    if ( inn.length == 10 )
    {
        return inn[9] == String(((
            2*inn[0] + 4*inn[1] + 10*inn[2] + 
            3*inn[3] + 5*inn[4] +  9*inn[5] + 
            4*inn[6] + 6*inn[7] +  8*inn[8]
        ) % 11) % 10);
    }
    else if ( inn.length == 12 )
    {
        return inn[10] == String(((
             7*inn[0] + 2*inn[1] + 4*inn[2] +
            10*inn[3] + 3*inn[4] + 5*inn[5] +
             9*inn[6] + 4*inn[7] + 6*inn[8] +
             8*inn[9]
        ) % 11) % 10) && inn[11] == String(((
            3*inn[0] +  7*inn[1] + 2*inn[2] +
            4*inn[3] + 10*inn[4] + 3*inn[5] +
            5*inn[6] +  9*inn[7] + 4*inn[8] +
            6*inn[9] +  8*inn[10]
        ) % 11) % 10);
    }
    
    return false;
}
</script>
Посмотреть ошибку можно в приложенной картинке.
 

Вложения

  • Буфер обмена01.jpg
    Буфер обмена01.jpg
    40.5 КБ · Просм.: 894

Steve

Участник
Сообщения
227
Реакции
0
Ответ: JavaScript в Acrobat. Алгоритм проверки валидности ИНН.

а в функцию передается массив или String?
можно попробовать так
if ( i.toString().match(/\D/) ) return false;
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: JavaScript в Acrobat. Алгоритм проверки валидности ИНН.

очевидно, убрать первую и последнюю строки (и думать, прежде чем копи-пастить), а сам код рабочий
 

Steve

Участник
Сообщения
227
Реакции
0
Ответ: JavaScript в Acrobat. Алгоритм проверки валидности ИНН.

1998 сказал(а):
а сам код рабочий
разве? :)
Код:
z(123+"");
z(123);
//z([1,5,4]);

function z(i){
console.println("type:"+typeof(i)+" "+i);
if ( i.match(/\D/) ){
console.println(" not digit");
}else{
console.println(" digit");
}
}
зависит какой тип аргумента придет. если не String, то выдаст ошибку на match
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: JavaScript в Acrobat. Алгоритм проверки валидности ИНН.

Речь была о синтаксической ошибке. Тогда уж, "Почему не работает скрипт?" -- да потому что в нем нечему работать, только определена какая-то функция.
 
Статус
Закрыто для дальнейших ответов.