Мне нужно проверить поле в моей форме, это поле принадлежит к персональному идентификационному номеру моей страны, это число 10 цифрКак проверить личный идентификационный номер в CakePHP
Пример: карта = 1710034065
2 1 2 1 2 1 2 1 2 (коэффициент) 1 7 1 0 0 3 4 0 6 (персональный идентификационный номер) 2 7 2 0 0 3 8 0 12 = 25 (Умножьте каждую цифру личного номера на 3 коэффициент, если результат> 10 добавить между цифрами).
добавить умножениям
результата суммы
25/10 = 2, остаток 5, делит 10 - остаток 5 = 5 (контрольные цифры) **, которая равна последний номер идентификационного номера * *
Теперь мне нужно, чтобы реализовать эту логику в рамках, и я понятия не имею, как, у меня есть пример кода в Java, чтобы получить лучшее представление о том, что мне нужно делать.
function check_cedula(form)
{
var cedula = form.cedula.value;
array = cedula.split("");
num = array.length;
if (num == 10)
{
total = 0;
digito = (array[9]*1);
for(i=0; i < (num-1); i++)
{
mult = 0;
if ((i%2) != 0) {
total = total + (array[i] * 1);
}
else
{
mult = array[i] * 2;
if (mult > 9)
total = total + (mult - 9);
else
total = total + mult;
}
}
decena = total/10;
decena = Math.floor(decena);
decena = (decena + 1) * 10;
final = (decena - total);
if ((final == 10 && digito == 0) || (final == digito)) {
alert("La c\xe9dula ES v\xe1lida!!!");
return true;
}
else
{
alert("La c\xe9dula NO es v\xe1lida!!!");
return false;
}
}
else
{
alert("La c\xe9dula no puede tener menos de 10 d\xedgitos");
return false;
}
}