javascript - 使用 AngularJS 匹配一个或多个字母数字字符

标签 javascript angularjs

我有一个 AngularJS 应用程序。为什么模式 /^[a-zA-Z0-9]+$/ 匹配空字符串?

<form name="addTeamForm" novalidate ng-init="team=''">
  <input type="text" name="team" ng-model="team" ng-pattern="/^[a-zA-Z0-9]+$/"/>
</form>
{{ addTeamForm.team.$valid }}

为什么$valid的值为true

http://jsfiddle.net/NameFILIP/fdsqzf12/5/

最佳答案

您还需要使用requiredngRequired :

<input type="text" name="team" ng-model="team" 
       ng-pattern="/^[a-zA-Z0-9]+$/" required />

方式ngPattern工作是检查非空字符串以匹配模式。如果字符串为空,则不会对其进行检查,也不会出现验证错误。通过指定required除了 ngPattern 之外,您还将空字符串设置为无效值。

更新的 fiddle :http://jsfiddle.net/vittore/fdsqzf12/6/

关于javascript - 使用 AngularJS 匹配一个或多个字母数字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308702/

相关文章:

javascript - 如何在angularjs中动态附加指令到div

javascript - sequelize 在验证错误时递增 id

javascript - d3 补间弧在函数调用中不起作用

javascript - 工具提示窗口不适合所有内容

javascript - 根据我的指令,如何在父作用域上手动触发摘要周期?

javascript - Angular 不为某些浏览器加载图像和内容

html - 在 Bootstrap 3.0 中添加单词之间的空格(HTML 转义字符不起作用)

javascript - 运行字符串数组并在 url 中找到匹配项,如何做到这一点

javascript - 在 window.location 中使用 JS 变量

javascript - 如何使 ng-transclude 表现得像 ng-include (就范围而言)?