Должен отметить что HTML5 валидация не работает в старых браузерах. Кроме-того, не всем нравится реализация в браузерах.
Тем не менее, атрибут pattern и required можно всегда использовать, в добавок, если реализация браузера устраивает, подключить polyfill для старых браузеров. Если не устраивает - все равно можно опираться на эти атрибуты. Кстати такой полифил как WebShims позволяет заменить UI на новых браузерах.
Сообщение от cajka
|
Но оно не работает
|
У тебя лишнее отрицание. У тя регулярка ищет невалидные символы. Соответственно, если нашла (то есть if (re.test()) ), то алерт. А у тебя наоборот.
<form onsubmit="return false">
<input id="input" value="ффффваыа" />
<button type="submit">Отправить</button>
<script>
(function(){
var input = document.getElementById('input');
input.onchange = function() {
var name = this.value;
var per_name =/^[А-Я]$/i;
if(!per_name.test(name)){
var text = "Разрешены только русские буквы";
}
alert(text || 'Все ок');
};
})();
</script>
</form>