javascript - Angularjs 验证不适用于复制粘贴

标签 javascript angularjs regex angular-material

我正在尝试创建基于美国的电话号码验证###-###-####,使用 ng-pattern 和 tel-Mask 指令..

如果我做简单的复制粘贴1234567890,它工作正常但是

当复制粘贴有效的电话号码并将其删除时, 然后再次复制粘贴然后它给出错误..

这是工作 jsFiddle: https://jsfiddle.net/9xrx87mw/1/

最佳答案

在 JS 代码中,您从数字中删除了连字符,并且模式要求存在连字符。使它们可选并使用

ng-pattern="/^[0-9]{3}-?[0-9]{3}-?[0-9]{4,5}$/" 
                       ^         ^

参见 updated demo .

稍后会重建显示的值,因此允许匹配 1 次或 0 次出现的量化子模式的 ? 量词将按预期工作。

关于javascript - Angularjs 验证不适用于复制粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46784669/

相关文章:

javascript - 如何循环一个 div 并使用正则表达式添加一个类?

javascript - jQuery 删除功能不起作用

javascript - 在 AngularJS 中显示 JSON 数组中的键值

javascript - 具有 ng-model 依赖性的孤立范围陷阱

angularjs - 每次 Angular ng-click 都会进行 API 调用

regex - 使用正则表达式拆分字符串

javascript - 从 Javascript 对象排序键

javascript - 如何在jquery脚本中调用Node.js服务?

javascript - 阴影在 (THREE.js r82) 中不可见

php - 使用PHP数组函数导入文本数据的思路