Jquery 不允许字母值,但允许输入、退格、删除、箭头等

Jquery 不允许字母值,但允许输入、退格、删除、箭头等,jquery,Jquery,我在按键上调用函数,其中不允许字母值,但允许带有回车、退格、删除、箭头等数字字符 function checkIt(s) { if (s.match('/[^a-zA-Z0-9 ]/g')) { s = s.replace('/[^a-zA-Z0-9 ]/g', ''); } } HTML 此代码不起作用。您可以尝试类似的方法 $('textarea').keyup(函数(){ $(this).val(函数(i,v){ 返回v.replace(/[a-z]/gi');

我在
按键上调用函数,其中不允许字母值,但允许带有回车、退格、删除、箭头等数字字符

function checkIt(s) {
  if (s.match('/[^a-zA-Z0-9 ]/g')) {
     s = s.replace('/[^a-zA-Z0-9 ]/g', '');
  }
}
HTML



此代码不起作用。

您可以尝试类似的方法

$('textarea').keyup(函数(){
$(this).val(函数(i,v){
返回v.replace(/[a-z]/gi');
});
});

需要注意的几件事:

  • 正则表达式不应放在引号中
  • 插入符号意味着你不想要它。因为你想要的是数字而不是字母,所以你不能像那样把它们放在一起
  • 您的函数应该返回该值

  • 这里的其他人已经提供了答案,但我认为您应该知道这些要点。

    这应该做什么。该函数实际上不会返回值或更改任何内容,因为它会影响局部变量。我想使用该函数,并尝试删除引号,但它仍然不起作用。您能否使用该函数提供解决方案?已在上面添加。plcheck@BhumiShah很乐意帮忙
    <input type="text" onkeyup="return checkIt(this.value)" maxlength="4"   class="input-layout" value="10" name="test[]">
    <input type="text" onkeyup="return checkIt(this.value)" maxlength="4"   class="input-layout" value="10" name="test[]">
    <input type="text" onkeyup="return checkIt(this.value)" maxlength="4"   class="input-layout" value="10" name="test[]">
    <input type="text" onkeyup="return checkIt(this.value)" maxlength="4"   class="input-layout" value="10" name="test[]">