ng-pattern regex匹配多个条件

时间:2016-06-03 05:58:34

标签: javascript angularjs regex validation

我正在使用ng-pattern来验证以下条件的字段。到目前为止,我只能使用以下正则表达式验证最后两个条件。当我只添加数字时,我也想验证长度。

如何验证ng-patter中的所有四个条件?我是否需要单独用括号括起来?

data-ng-pattern="/^[0-9-\s()+]+$/"

11111111
111111111
11-111-111
111-111-111

我想验证多个条件

2 个答案:

答案 0 :(得分:1)

^([^0][0-9]){6}$的问题是无效的正则表达式,因为0^[1-9][0-9]{5}$是允许任何不是{{1}的字符接下来是六个数字。

使用

^

<强>解释

  1. [1-9]:以锚
  2. 开头
  3. [0-9]{5}:匹配1到9之间的一个数字
  4. 0-9:匹配范围$
  5. 中的五位数字
  6. input:invalid { color: red; }:以锚点结束
  7. Regex Visualization

    Regex101游乐场

    HTML5演示:

    显示代码段

    <input type="text" pattern="[1-9][0-9]{5}" /> {{1}}  运行代码片段隐藏结果

        

答案 1 :(得分:0)

试试这个。它只允许10位数。

/^[1-9]{1}[0-9]{9}$/

我不确定这会起作用,但我试过了。

/^[1-9]{1}[0-9-\s()+]{10}$/gm

Explainlation

1)^开始。如果启用了多行标记(m),则匹配字符串的开头或行的开头。

2)[字符集。匹配集合中的任何字符。 1-9范围。匹配范围“1”到“9”(字符代码49到57)中的字符。 ]

3){1}量词。匹配前一个标记的第1个。

4)[字符集。匹配集合中的任何字符。

5)0-9范围。匹配范围“0”到“9”(字符代码48到57)中的字符。

6) - 性格。匹配“ - ”字符(字符代码45)。

7)\ s空白。匹配任何空白字符(空格,制表符,换行符)。

8)(字符。匹配“(”字符(字符代码40)。

9))性格。匹配一个“)”字符(字符代码41)。

10)+角色。匹配“+”字符(字符代码43)。 ]

11){10}量词。匹配前面标记的10个。

12)$结束。匹配字符串的结尾,如果启用了多行标记(m),则匹配行的结尾。

13)g修饰符:全局。所有比赛(首场比赛时不返回)

14)m修饰符:多行。导致^和$匹配每行的开头/结尾(不仅是字符串的开头/结尾)