Можно переопределить изменять размеры поведение с CSS:
textarea
{
resize: none;
}
или просто
<textarea style="resize: none;">TEXT TEXT TEXT</textarea>
свойства Valid: оба, горизонтальные, вертикальные, ни один
Редактировать : Извините, теперь я понимаю, что вы уже получили почти весь мой ответ, вы только что неправильно определили, какой коэффициент использовать для какой цифры.
Теперь весь мой ответ можно можно резюмировать одним предложением:
У вас есть обратный множитель, вы умножаете неправильные цифры на 2 в зависимости от длины числа.
Взгляните на статью в Википедии о Luhn алгоритм .
Причина, по которой ваша контрольная сумма неверна в половине случаев, заключается в том, что с вашими проверками, в половине случаев ваш номер имеет нечетное количество цифр, а затем вы удваиваете неправильную цифру.
Для 37283, когда считая справа, вы получите следующую последовательность чисел:
3 * 1 = 3 3
8 * 2 = 16 --> 1 + 6 = 7
2 * 1 = 2 2
7 * 2 = 14 --> 1 + 4 = 5
+ 3 * 1 = 3 3
= 20
Алгоритм требует, чтобы вы суммировали отдельные цифры исходного числа и отдельные цифры произведения этих "каждые две цифры справа ".
Итак, справа вы суммируете 3 + (1 + 6) + 2 + (1 + 4) + 3, что дает вам 20.
Если число вы закончите с оканчивается на ноль, что соответствует 20, число действительное.
Теперь ваш вопрос намекает на то, что вы хотите знать, как сгенерировать контрольную сумму, ну, это просто, сделайте следующее:
Пример: число 12345
Вычислить контрольную сумму luhn для 123450, в результате получится
0 5 4 3 2 1что дает
0 5 4 3 2 1
1 2 1 2 1 2 <- коэффициент
0 10 4 6 2 2 <- продукт
0 1 0 4 6 2 2 <- суммируйте их до: 0 + 1 + 0 + 4 + 6 + 2 + 2 = 15
Возьмите сумму (15), модуль 10, которая дает вам 5
] Итак, результат - 123455.