Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
237 views
in Technique[技术] by (71.8m points)

javascript - Input field with type="number" allows specials characters in Firefox works fine in Chrome and Edge

Input field with type="number" allows specials characters in Firefox works fine in Chrome and Edge.

In this input field I need to enter only numbers and restrict user from entering any special characters and alphabets.

 <input type="number" name="height" class="form-control input-number"  ng-model="height" tabindex="11" min="0" data-ng-pattern="/^[0-9]{1,10}$/" data-ng-keydown="checkForNumber($event)">

The JS function

 $scope.checkForNumber = function(event) {
?????????if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {

?????????} else {
????????????event.preventDefault();
?????????}
??????};

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

input = document.getElementsByTagName("INPUT")[0]
input.addEventListener("input", function() {
  if (isNaN(input.value)) {
    input.value = input.value.replace(/D/g, '');
  }
})
<input type="text" name="height" class="form-control input-number" ng-model="height" tabindex="11" min="0" data-ng-pattern="/^[0-9]{1,10}$/">

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...