Safari的HTML5模式倒退
HTML5 Pattern fallback for Safari
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);
问题在于您正在收听的事件。在这种情况下,事件change
和blur
本质上是一样的。
更改监听keyup
或input
的事件:
input.addEventListener('input', function() {
console.log('Is valid?', input.value.search(new RegExp(input.getAttribute('pattern'))) !== -1);
}, false);
相关文章:
- AngularJS ui路由器html5模式中断路由
- 打开相对于鼠标位置的CSS3/HTML5模式对话框
- HTML5模式未验证
- 重定向到具有轨道的html5模式中的正确角度路线
- HTML5模式中的$location需要<基本>
- 在浏览器中更改页面的URL,无需刷新和HTML5模式
- 使用模式在 HTML5/JS 中绘制图像
- 为什么除了html5输入模式属性之外,这个简单的regex在任何地方都能工作
- 谷歌自动完成放置HTML5模式
- 验证模式中的HTML5不适用于以一些特定字符开头的字符串
- 启用了html5模式的Angular和Express路由
- 如何在iOS/iPad上进入全屏模式时停止HTML5视频播放器
- 如何在此角度 2 样本上使用 HTML5 模式
- HTML5网站在丝绸浏览器中进入全屏模式或在加载URL后在丝绸浏览器中隐藏地址栏
- HTML5 移动键盘覆盖全屏模式下的输入
- 将HTML5正则表达式模式转换为JavaScript正则表达式
- HTML5 - 离线模式,本地存储和安全都在船上
- 某些 YouTube iframe 嵌入在 HTML5 模式下不起作用
- 将 HTML5 视频复制到 jQuery 对话框模式窗口中
- 如何修复移动中的横向模式HTML5 web应用程序