2017-09-20 4 views
0

ich einen DHCP-Bereich Eingang habenerlauben eine Reihe von Zahlen, und immer noch eine bestimmte Anzahl ausschließen (s)

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

Es perfekt für DHCP-Bereich Bereich arbeitet 1-254, aber ich möchte auch die ausschließen Nummer 111.

Wie mache ich das? Gibt es ein anderes HTML-Attribut, das ich verwenden kann?

Es sei denn, Angular RegEx ng-Muster ist der einzige Weg, um dies zu ...

+0

Sie könnte so etwas wie dies in Betracht ziehen? 'if (/^(?! (111)) /. test (str)) { }' – JBone

+0

können Sie einfach dieses Muster werfen: https://www.w3schools.com/tags/att_input_pattern.asp in der min/max?^(?!. * 111). * $ Ich bin mir nicht sicher, wie Bereich und Muster zusammenarbeiten, nur eine Idee. – sniperd

+0

Sie können diesen Zahlenbereich mit einem Regex-Muster abgleichen, aber es wird irgendwie unheimlich aussehen https://regex101.com/r/Pq7WnB/2 – CAustin

Antwort

0

Dies ist eine Möglichkeit, es zu tun. Verwenden Sie JavaScript. Rufen Sie die Funktion onchange auf und machen Sie dasselbe für jede Nummer, die Sie innerhalb dieser Funktion entfernen möchten. Ich habe es für 3 und 6 getan. Viel Spaß!

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"))'>

Verwandte Themen