1

我想知道是否有一种简单的方法可以在表单文本字段上设置此验证,而无需创建自定义指令。

我需要验证{minlength: 2, maxlength: 10},用户可以输入 的任意组合[A-Z0-9\s],但只有数量A-Z0-9会达到最小和最大计数。

这可能吗?

我在想也许使用 ng-pattern 和一些神奇的正则表达式可能能够解决这个问题。如果 ng-pattern 匹配失败,只需要一条错误消息即可触发。

4

1 回答 1

2

正则表达式^\s*(?:[A-Z0-9]\s*){2,10}$将给出您所要求的。它分解为:

^\s*                            - start with 0 or more white space characters
       [A-Z0-9]                 - then one of A-Z or 0-9
               \s*              - then any number of additional 
                                  white space chars (including 0)
    (?:           ){2,10}       - repeat all that 2-10 times
                         \s*$   - and allow trailing white space

编辑:更新为使用非捕获组(我没有意识到ngPattern支持)。

于 2015-06-15T23:58:42.260 回答