Использование регулярного выражения для проверки поля ввода времени в форме PDF - PullRequest
0 голосов
/ 26 июня 2018

Я создал следующую функцию JavaScript в моей форме PDF:

var rgTime = /^[^0-9]{1,2}[^:][^0-9]{2}$/;
function testTimeEntry(t) {
if (rgTime.test(t)){
app.alert("Opps!  Time entry is invalid.  Only numbers and the colon(:) are allowed.");
event.value = "";
}
}

Затем я использую testTimeEntry(event.value); в части проверки моего поля времени. Тем не менее, это работает, только если я заполняю поле с 5 букв. Я в основном пытаюсь поймать случайное использование точки с запятой (или чего-либо другого, кроме двоеточия) и буквенных символов в этом поле.

Я специально не использую формат времени для поля, но мне все еще нужно убедиться, что введенный формат равен 12 часам (чч: мм). Спасибо!

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Я бы использовал что-то вроде этого /[0-1][0-9]:[0-5][0-9]/

0 голосов
/ 26 июня 2018

Ваша строка регулярного выражения rgTime = /^[^0-9]{1,2}[^:][^0-9]{2}$/ будет соответствовать только строке, которая является полностью недопустимым вводом. Если пользователь вводит правильное значение 'hh', то это регулярное выражение не будет совпадать. Например, строка "11:1s" не будет соответствовать вашему регулярному выражению.

Возможно, было бы проще найти действительный ввод и предупредить его, если он не действителен

var rgTime = /^[0-9]{1,2}[:][0-9]{2}$/;
function testTimeEntry(t) {
if (!rgTime.test(t)){
app.alert("Opps!  Time entry is invalid.  Only numbers and the colon(:) are allowed.");
event.value = "";
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...