How to disable the user from entering a number in to input field . When we use type as number we are restricted from entering text in to the input .The same way how to achieve the vice versa . Someone help i need this to complete my assignment.
<input type="text" name="name" />
CodePudding user response:
You can add an input
event listener to the input which gets the input's value, replaces every numeric character (with String.replace
), then assigns the result back to the input's value:
const input = document.querySelector('input');
input.addEventListener('input', function(){
this.value = this.value.replace(/[^\D]/g,'')
})
<input type="text" name="name" />
CodePudding user response:
You can listen to keydown
, and if the key pressed is a number, just call event.preventDefault()
on the keyboard event.
const input = document.querySelector('input');
input.addEventListener('keydown', function(event){
if((/\d/g).test(event.key)) event.preventDefault();
})
<input type="text" />
CodePudding user response:
You can use 1 line function to prevent any number in the input
with help of regular expression
But it is not recommended to use inline function , here is provided only to tell about a different approach
See here to know more about regular expression
<input type="text" name="name" oninput=" this.value = this.value.replace(/[0-9]/g,'')" />
CodePudding user response:
Try to use pattern
with regex:
<input type="text" name="name" pattern="\D" />
\D
will reject all digits