HTML输入 - 多种模式的联接不起作用

时间:2017-01-07 05:50:31

标签: html validation design-patterns

我的HTML中有以下部分,

<input type="text" #version tabindex="1" class="form-control" id="version" name="version" placeholder="" [(ngModel)]="application.version"
                                    required minlength="1" pattern="\d{1,3}|\d{1,3}.\d{1,4}|\d{1,3}.\d{1,4}.\d{1,4}">

基本上,我希望变量的模式符合以下3种模式之一:

  • 1.0
  • 1.0
  • 1.0.0

然而似乎加入&#34; |&#34;在这里工作不起作用。错误的模式,如&#34; 1.abc.def&#34;仍将成功验证。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

得到了答案。它的工作原理如下: ((\ d {1,3})|(\ d {1,3} \ d {1,4})|。。。(\ d {1,3} \ d {1,4} \ d {1 ,4}))

答案 1 :(得分:0)

这可以这样做:

这将匹配1.0, 1.0.0, 1.0.0

之类的模式

&#13;
&#13;
var str = "1.0.0";
        if (/^\d{1,1}\.\d{1,1}\.\d{1,1}$/.test(str) || /^\d{1,1}\.\d{1,1}$/.test(str) || /^\d{1,1}$/.test(str)) {
    alert("matched");
} else {
    alert("not matched");
}
&#13;
&#13;
&#13;