2015-05-29 4 views
0

Safari не поддерживает шаблон HTML5 ... Приведенный ниже рисунок работает отлично, но нуждается в работоспособном отступлении.HTML5 Откат шаблона для Safari

<input type="password" required pattern="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$" name="password" id="password"> 

запасной вариант попытка ... (от другого ответа от 2011)

var input = document.getElementsByName('password')[0]; 


input.addEventListener('change', function() { 
     console.log('Is valid?', input.value.search(new RegExp(input.getAttribute('pattern'))) !== -1); 
}, false); 
+0

возможно дубликат [Javascript запасного варианта для "шаблона" HTML5 атрибута на ] (http://stackoverflow.com/questions/8291152/javascript -fallback-for-the-html5-pattern-attribute-on-input) – pstenstrm

+0

@pstenstrm это пример, который я попробовал – acctman

ответ

2

Проблема это событие, вы слушаете. Событие change по существу совпадает с blur в этом случае.

Изменить событие слушает keyup или input:

input.addEventListener('input', function() { 
    console.log('Is valid?', input.value.search(new RegExp(input.getAttribute('pattern'))) !== -1); 
}, false); 
Смежные вопросы