Например, если у меня есть форма, и я не хочу, чтобы пользователь вводил в нее числа, и я проверяю ее с помощью функции, содержащей регулярное выражение, как предотвратить ввод недопустимого символа, введенного пользователем (в этом примере, цифра) от отображения в текстовой форме, если он не прошел проверку регулярного выражения?Как предотвратить ввод недопустимых символов в форму?
Это функция, которую я пробовал, и список выбора, который я попробовал (другими словами, это не вся программа). Я попытался вернуть false в обработчик события onkeypress, но то, что пользователь входит в текстовое поле, все еще проходит.
function noNumbers(answer) { //returns false and displays an alert if the answer contains numbers
if (/[\d]+/.test(answer)) { // if there are numbers
window.alert("You can not enter numbers in this field");
return false;
}
}
<form action="get" enctype="application/x-www-form-urlencoded">
<select id="questions" name="questions">
<option value="no_numbers">What is the name of the city where you were born?</option>
<option value="no_letters">What is your phone number?</option>
<option value="no_numbers">What is the name of your favorite pet?</option>
<option value="no_letters">What is your social security number?</option>
<option value="no_numbers">What is your mother's maiden name?</option>
</select>
<p><input type="text" name="answer" onkeypress="validateAnswer();" /></p>
</form>
Err ... как вы сказали, возвращая 'false' в' keypress' обработчика событий. Что вы пробовали? Мы хотим видеть код, который вы пробовали. – thejh
Зачем это? Просто подтвердите это, прежде чем отправлять данные, раздражающие пользователи с ограничениями на ввод данных просто, ну, раздражают. – RobG
Это для школьного задания. Вот почему я не отправлял код, когда впервые задал этот вопрос. Потому что люди в классе могут его скопировать и утверждать как свои собственные. Но я предполагаю, что я должен опубликовать код для людей здесь, чтобы понять, что случилось. – user2228537