【发布时间】:2015-10-25 04:10:54
【问题描述】:
我有一个输入字段,只有当它只包含数字、没有特殊字符和空格时才有效。我在 Angular 中使用 ng-pattern 来验证输入。
我尝试过使用:
/^\d+$/
/^\d*$/
/^[0-9]+$/
这些可以防止特殊字符和字母,但对空格没有任何作用。有谁知道将空格视为无效字符的正则表达式?我试图避免使用 keyCode 阻止输入。
如果已经有这方面的主题,我深表歉意。我发现了许多类似的,但对空间没有任何帮助。
编辑: 即使正则表达式应该正常防止空格,它似乎也不适用于 ng-pattern:
<input type="tel" maxlength="10" ng-pattern="/^[0-9]+$/" placeholder="(1234567890)" />
如果我输入空格,仍然会在输入中返回 ng-valid-pattern 类。
【问题讨论】:
-
你的正则表达式不允许允许空格。见regex101.com/r/nM1lY8/1
-
有想过这个吗?我正在与类似的问题作斗争,我想这与 angulars ng-pattern 在输入前面存在空格时不返回 false 有关。我有一个 ng-pattern="/^\\+?[0-9]{6,29}$/" 但即使我以空格开始输入,它仍然显示为有效。
标签: javascript regex angularjs