Javascript: проверка расчётного счёта

Статус
В этой теме нельзя размещать новые ответы.

plr

Писатель
Регистрация
8 Окт 2008
Сообщения
3
Реакции
0
Скрипт проверки валидности банковского расчётного счёта организации или физического лица.

PHP:
function CheckBankAccount(BIK, _Account) {
	var Mask = "71371371371371371371371";
	var Control = 0;
	var M;
	var strM;

	if (!BIK) {
		return true;
	}

	var Account = BIK.substring(6, 9) + _Account;

	for (var i = 0; i <= 22; i++) {
		M = RealParseInt(Account.substring(i, i+1))*RealParseInt(Mask.substring(i, i+1));
		strM = M.toString();
		Control += RealParseInt(strM.substring(strM.length-1, strM.length));
	}

	var R = ((Control/10) - Math.floor(Control/10));

	if (R == 0) {
		return true;
	}
	else {
		return false;
        }
}
 
Эм... ты как бы написал по грамотнее что ли. Проверка на валид это одно, а проверка написания это другое :)
 
Скрипт проверки валидности банковского расчётного счёта организации или физического лица.

PHP:
function CheckBankAccount(BIK, _Account) {
	var Mask = "71371371371371371371371";
	var Control = 0;
	var M;
	var strM;

	if (!BIK) {
		return true;
	}

	var Account = BIK.substring(6, 9) + _Account;

	for (var i = 0; i <= 22; i++) {
		M = RealParseInt(Account.substring(i, i+1))*RealParseInt(Mask.substring(i, i+1));
		strM = M.toString();
		Control += RealParseInt(strM.substring(strM.length-1, strM.length));
	}

	var R = ((Control/10) - Math.floor(Control/10));

	if (R == 0) {
		return true;
	}
	else {
		return false;
        }
}

непонял, можешь повразумительней все описать как работает
 
Каждый расчётный счёт имеет контрольную цифру, по которой можно проверить правильный ли расчётный счёт или нет.

К тому же, для проверки валидности (правильности) расчётного счёта требуется БИК банка, в котором (должен) существовать этот счёт. Т.е. помимо проверки правильности внесённого счёта еще проверяется принадлежность его к банку.

На других языках эта проверка реализована, на js не нашёл, поэтому реализовал и выложил, функция успешно работает.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху