Javascript替换函数不工作

Javascript替换函数不工作,javascript,jquery,Javascript,Jquery,我有以下代码:- /*****html*********/ <input type="text" id="firstname"> /******jquery********/ $(document).ready(function(){ $("#firstname").keyup(function(){ var text=$(this).val(); $(this).val(text.replace(/[^\s((a-zA-Z))]/g,''));

我有以下代码:-

/*****html*********/
<input type="text" id="firstname">

/******jquery********/
$(document).ready(function(){
   $("#firstname").keyup(function(){
      var text=$(this).val();
      $(this).val(text.replace(/[^\s((a-zA-Z))]/g,''));
   });
});
/****html*********/
/******jquery********/
$(文档).ready(函数(){
$(“#firstname”).keyup(函数(){
var text=$(this.val();
$(this.val(text.replace(/[^\s((a-zA-Z))]/g',);
});
});
我不想在我的输入框中有任何空白。我尝试了上面的代码,但不起作用。我的代码有问题。请帮忙

$('#firstname').keypress(function( e ) {
    if(e.which === 32) 
        return false;
})​​​​​;​
如果出现空白,可以防止按键。这样就没人能打了


如果出现空白,可以防止按键。这样就没有人可以输入了。

您的正则表达式是错误的。请检查这个

将此应用程序用于正则表达式


在那里你可以找到关于regex的参考资料

您的正则表达式是错误的。请检查这个

将此应用程序用于正则表达式

在那里你可以找到关于regex的参考资料

为我工作

$("#firstname").keyup(function(){
  var text=$(this).val();
  $(this).val(text.replace(/[^(a-zA-Z)]/g,''));
});
为我工作

$("#firstname").keyup(function(){
  var text=$(this).val();
  $(this).val(text.replace(/[^(a-zA-Z)]/g,''));
});

如果您尝试在keyup事件期间进行替换,则在尝试编辑文本时可能会遇到光标跳转问题

我更愿意允许他们键入任何他们想要的内容,并在更改事件期间清理文本,如下所示(这对于复制粘贴场景也非常有效):


JS Fiddle:

如果您试图在keyup事件期间进行替换,则在尝试编辑文本时可能会遇到光标跳转问题

我更愿意允许他们键入任何他们想要的内容,并在更改事件期间清理文本,如下所示(这对于复制粘贴场景也非常有效):


JS Fiddle:

如果用户复制粘贴文本,则此选项为false。Ref:-如果用户将代码粘贴到输入中会发生什么情况?@andriedor但你是对的。如果用户复制粘贴文本,则此代码将不起作用。Ref:-如果用户将代码粘贴到输入中会发生什么情况?@andriedor但你是对的。那么这个代码就不起作用了。
$(document).ready(function(){
   $("#firstname").change(function(){
      var text=$(this).val();
      $(this).val(text.replace(/\s/g,''));
   });
});