2017-06-03 4 views
-3

Ich muss nur Zahlen zulassen und Sonderzeichen minus "-" in ein Textfeld eingegeben werden, bitte helfen mir ich habe bereits eine Nummer Einschränkung, aber wollen Minuszeichen auch.Lassen Sie nur Zahlen und Sonderzeichen (-) in ein Textfeld eingeben

Dank im Voraus

<script> 
function isNumber(evt) { 
    evt = (evt) ? evt : window.event; 
    var charCode = (evt.which) ? evt.which : evt.keyCode; 
    if (charCode > 31 && (charCode < 48 || charCode > 57)) { 
     return false; 
    } 
    return true; 
} 
</script> 


<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" /> 
+0

Versuchen Sie vielleicht mit Regex? – xDreamCoding

+0

Sie sollten sich das Attribut HTML5 ['pattern'] (https://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-pattern) ansehen. – Siguza

+0

könnte helfen Sie mir mit dem gleichen Code mit Regex – jai

Antwort

0

!=45 Hinzufügen ist nicht ausreichend. Sie müssen auch die Annahme ungültiger Tasteneingaben verhindern. Wenn Sie true/false zurückgeben, kann der Benutzer immer noch diese Tasten eingeben und Ihr Code scheint dann nichts zu tun.

if ((charCode < 48 || charCode > 57) && charCode != 45) { 
    evt.preventDefault(); 
} 

Auf diese Weise werden nur gültige Tasteneingaben im Textfeld angezeigt.

+0

danke niksofteng – jai

0

Diese Regex für Zahlen überprüfen und '-'. Wenn andere Zeichen vorhanden sind, werden sie ersetzt.

$('.input').keyup(function() { 
    if (!this.value.match(/^(\d|-)+$/)) { 
     this.value = this.value.replace(/[^0-9-]/g, ''); 
    } 
}); 

Keine jQuery-Version:

<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeyup="isNumber()" /> 

function isNumber() { 
    var inputField = document.getElementById('extra7'); 
    if (!inputField.value.match(/^(\d|-)+$/)) { 
     inputField.value = inputField.value.replace(/[^0-9-]/g, ''); 
    } 
} 
+0

wenn kein 'jquery' markiert ist Q & A soll in plain JS sein. – niksofteng

+0

@niksofteng rechts, fügte hinzu – petul

Verwandte Themen