Вы никогда не можете контролировать поле ввода формы. Если вы когда-либо предполагали это, переосмыслите эти решения, потому что: Вы никогда не можете доверять данным от / клиента . По крайней мере половина сотрудников StackOverflow знают, как манипулировать вашими формами, однако мы не можем изменить код вашего сервера.
То, что вы хотите, - это дезинфекция, прежде чем вводить ее в базу данных Вы можете либо очистить его и вставить его, либо проверить, если он чистый, если не выдает ошибку. Я сделал быстрый пример на PHP:
$cleanVariable = preg_replace("/[^A-Z0-9]/s", '', $variable);
// OR:
if( !preg_match("/^[A-Z0-9]$/s", $variable) ){
throw new Exception("does not match");
}
И вы можете использовать strtoupper (), чтобы всегда делать его прописными.
После того, как вы сделали на стороне сервера, вы можете сделать клиентскую сторону более привлекательной для пользователя .
<!-- Inline isnt preferred, but for demo: -->
<input onChange="cleanThisInput(this.value)" />