Используйте HTML5 Pattern Match, ниже я использовал образец ([a-zA-Z0-9] +), который просто означает символы только латинского алфавита и цифры 0-9. Вы можете включить пробел с помощью ([a-zA-Z0-9] + \ s {1} [a-zA-Z0-9] +)
Подробнее о регулярном выражении можно узнать здесь.
Это не помешает автору вводить неправильные нажатия клавиш, это только подтвердит ввод. Я включу другой подход, чтобы показать пользовательскую ошибку.
<form >
<input type="text" class="form-control blank" id="function_code" name="Option an" title="A name cannot contain irregular characters" pattern='([a-zA-Z0-9]+)' onpaste="return false">
<button >Submit</button>
</form>
Второй подход. Используйте Javascript и запишите ошибку в тег div.
<!DOCTYPE html>
<html>
<body>
<h1>How to show error message</h1>
<input type="text" class="form-control blank" id="function_code" name="function_code" title="function_code" onpaste="return false">
<div id="error-box"></div>
</body>
</html>
<script>
function showError (key) {
var errBox = document.querySelector("#error-box");
errBox.textContent = "The character " + key.toString() + " is not allowed!";
//Dismiss the error
window.setTimeout(function () {
errBox.textContent = "";
}, 10000)
}
document.getElementById("function_code").onkeypress = function(e) {
var chr = String.fromCharCode(e.which);
if ("></\":*?|".indexOf(chr) >= 0)
showError(chr)
return false;
};
</script>