javascript - HTML5 Pattern fallback for Safari -
safari not support html5 pattern... input pattern below works fine in need of workable fall back. <input type="password" required pattern="(?=^.{8,}$)((?=.*\d)|(?=.*\w+))(?![.\n])(?=.*[a-z])(?=.*[a-z]).*$" name="password" id="password"> fallback attempt... (from answer dated 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); the problem event you're listening to. event change same blur in case. change event listen keyup or input : input.addeventlistener('input', function() { console.log('is valid?', input.value.search(new regexp(input.getattribute('pattern'))) !== -1); }, false);