Это мой последний код, он будет поддерживать все браузеры. функция isAlphaNumeric (evtGet) {
var browser = navigator.appName;
if (browser == "Microsoft Internet Explorer" || browser == "Mozilla Firefox") {
var keyGet = evtGet.keyCode;
} else {
var keyGet = evtGet.which; //(window.Event) ? evtGet.which : evtGet.keyCode;
}
alert(keyGet);
if ((keyGet > 47 && keyGet < 58) || (keyGet > 64 && keyGet < 91) || (keyGet > 96 && keyGet < 123) || (keyGet == 9) || (keyGet == 32) || (keyGet == 8) || (keyGet == 0) || (keyGet == 13)||(keyGet==110))
return;
else
if (browser == "Microsoft Internet Explorer" || browser == "Mozilla Firefox")
window.event.returnValue = null;
else
evtGet.preventDefault();
}
поставил выше код в заголовке СПЯ
и вызвать из поля ввода, как OnKeyPress = "возвращение isAlphaNumeric (событие, this.value);">
предположит, что вы хотите изменить в коде согласно вашему требованию, есть окно с предупреждением запустите код 1st затем нажмите на клавиатуре она покажет код ключа согласно вашему требованию
примера -Вы хотите ввести (.) в поле, он покажет вам код ключа для точки id 47, и вы можете написать (keyGet==47)
Так в чем проблема? Код ключа для дефиса - 45, что заставляет логику возвращать false. Разве это не намерение? –
Почему вы не проверяете буквенно-числовое выражение с регулярным выражением типа '/ 0-9a-z/i'? – bfavaretto
я запятая тире \t 189 (hypen) период \t 190 от http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes – tv4free