【发布时间】:2014-12-03 03:26:49
【问题描述】:
任何人都在 TextBox 上使用 AngulerJS 验证。所以只能输入字母。
【问题讨论】:
标签: angularjs angularjs-validation
任何人都在 TextBox 上使用 AngulerJS 验证。所以只能输入字母。
【问题讨论】:
标签: angularjs angularjs-validation
取决于你想要什么:
字母和空格:
ng-pattern="/^[a-zA-Z\s]*$/"
字母没有空格:
ng-pattern="/^[a-zA-Z]*$/"
【讨论】:
我猜所有其他使用 ng-pattern 的答案都是正确的,但要提一下,ng-model 的使用对于 ng-pattern 是强制性的。
完整的输入可以是:
<input type="text" ng-pattern ="/^[a-zA-Z\s]*$/" ng-model="Name" />
这将只接受字母和空格。
【讨论】:
/^[a-zA-ZáéíóúÁÉÍÓÚ\s]*$/
将此添加到您的输入中
ng-pattern="/^[a-zA-Z]$/"
【讨论】:
如果您出于某种原因不想使用 ng-pattern,您还可以将验证函数添加到设置在您的文本框上的 ng-modal-controller,特别是添加到格式化程序和解析器数组。如何做到这一点的一个很好的描述在这里:http://www.benlesh.com/2012/12/angular-js-custom-validation-via.html。另一种选择是使用已发布的指令来实现相同的目的,我自己没有使用过这个指令,但它似乎是合法的:http://www.brentmckendrick.com/code/xtform/
【讨论】:
有一个名为ng-pattern 的指令允许使用正则表达式来指示哪些是允许的值。
可以这样使用:
<input ng-pattern="/[a-zA-Z]/" ...
【讨论】: