Решение HTML5 будет ...
<input type="text" id="input-nickname" name="nickname" pattern="[a-z\d]*" />
jsFiddle .
Однако для лучшей поддержки браузера вы можете использовать JavaScript ...
document.getElementById('input-nickname').onkeyup = function(event) {
this.value = this.value.replace(/[^a-z\d]/, '');
}
jsFiddle .
Чтобы сделать версию JavaScript похожей на метод HTML5, посмотрите на событие submit
формы.
Имейте в видуэто имеет довольно строгое определение букв и цифр.Для правильной поддержки Unicode найдите нужные вам диапазоны и используйте \u0000-\uFFFF
, чтобы указать его.