允许一系列数字,但仍然排除特定数字

时间:2017-09-20 18:56:09

标签: html angularjs regex input ng-pattern

我有一个DHCP Scope输入

<input name="dhcpscope" type="number" min="1" max="254" ng-model="dhcpscope" maxlength="3" size="3" ng-required="true">

它适用于从1-254开始的DHCP范围,但我也希望排除数字111

我该怎么做?我可以使用另一个HTML属性吗?

除非,Angular RegEx ng-pattern是解决这个问题的唯一方法......

1 个答案:

答案 0 :(得分:0)

这是一种方法。使用JavaScript。调用函数onchange并对你要在该函数中删除的任何数字执行相同的操作,我为3和6做了。享受!

var lastnum = 1;

function myFunction(x) {

  if (x.value == 3 && lastnum < 3) {
    x.value = 4;
  } else if (x.value == 3 && lastnum > 3) {
    x.value = 2;
  }

  if (x.value == 6 && lastnum < 6) {
    x.value = 7;
  } else if (x.value == 6 && lastnum > 6) {
    x.value = 5;
  }

  lastnum = document.getElementById("myNum").value;
}
<input name="dhcpscope" type="number" min="1" max="254" ng-model="dhcpscope" maxlength="3" size="3" ng-required="true" value="1" id="myNum" onchange='myFunction(document.getElementById("myNum"))'>