如何使用带有ng-pattern的OR

时间:2017-10-26 11:11:37

标签: angularjs

这是我的输入字段,我在使用ng-pattern

<input class="form-control" type="text" name="name" 
ng-pattern="/(^[A-z]+$) | (^[0-9]*$)/"
required="" ng-model="name"/>

来自用户的输入应该是数字或字母。如何使用OR(|)运算符和ng-pattern?

以下是有效输入:

  • 123(所有数字)
  • abc(所有字母)

以下是无效输入:

  • A1
  • .tgh7

1 个答案:

答案 0 :(得分:2)

我认为你可以将两个当前的正则表达式模式组合成一个模式:

<input class="form-control" type="text" name="name"
       ng-pattern="/(^([A-z]+|[0-9]+)$)/"
       required="" ng-model="name" />

这种方法可能会超越您目前的方法,因为它只需要评估一个正则表达式模式,而不是两种模式。

按照以下链接获取正则表达式的演示:

Regex101