Angularjs验证不适用于复制粘贴

时间:2017-10-17 07:26:04

标签: javascript angularjs regex angular-material

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

如果我执行简单的复制粘贴1234567890,它可以正常工作但

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

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

1 个答案:

答案 0 :(得分:1)

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

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

请参阅updated demo

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