Вложенные математические функции в Javascript - PullRequest
0 голосов
/ 28 апреля 2020

Я работаю над формой Acrobat, которая должна принимать только положительные целые числа в поле.

Идеально, если число просто переформатируется в соответствии с критериями. Например, если пользователь вводит «-1.4», он должен просто измениться на «1».

Допустимо ли использовать это как «сценарий проверки» для поля:

if (event.value) event.value = Math.abs(Math.round(event.value));

Кажется, это работает, но нормально ли вложить функции, подобные этой, в общем, или это приведет к проблемам.

1 Ответ

1 голос
/ 29 апреля 2020

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

event.rc = !(/[a-zA-Z\-]/.test(event.change));

enter image description here

Возможно, вы захотите изменить регулярное выражение, чтобы предотвратить другие символы, а также. Я просто сделал минимум. Помните, что вам нужно разрешить разрешение клавиш удаления, возврата и возврата, поэтому вы не можете просто ограничить регулярное выражение 0-9 (что было бы очевидным).

...