Если вы создали вход с максимальной длиной ...
<input id="testy" type="text" maxlength="7" />
... тогда вы можете просто проверить его длину и jQuery's e.which
:
$('#testy').keydown(function (e) {
var keycode = e.which,
isLetter = keycode > 64 && keycode < 90,
isNumber = keycode > 47 && keycode < 58,
l = this.value.length;
if (keycode !== 8 && ((l < 4 && !isLetter) || (l > 3 && !isNumber))) {
e.preventDefault();
}
});
Обратите внимание, чтоЕсть некоторые ошибки:
- Я не знаю, насколько это переносимо для разных ОС (возможно, не так уж и сложно при использовании jQuery)
- У меня нет цифровой клавиатурыи, возможно, эти коды клавиш различаются (возможно, это не так уж и важно при использовании jQuery)
- Кнопка Del будет отключена
Честно говоря, коддовольно небрежноЭто просто должно донести основную идею;вам, вероятно, придется настроить его, чтобы получить что-то, что действительно работает для вашего проекта.