Safari的HTML5模式后备

时间:2015-05-29 20:17:31

标签: javascript jquery html5

Safari不支持HTML5模式...下面的输入模式工作正常,但需要可行的后退。

<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);

1 个答案:

答案 0 :(得分:2)

问题在于你正在听的事件。在这种情况下,事件changeblur基本相同。

更改您收听的事件keyupinput

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