Javascript 用jQuery替换字符串中的字母字符和空格

Javascript 用jQuery替换字符串中的字母字符和空格,javascript,jquery,replace,Javascript,Jquery,Replace,我有一个只允许数字的字符串 $(this).val($(this).val().replace(/([a-zA-Z])/g, "")); 如何添加空格,以便在一个字符串中用“”替换?只需将空格添加到正则表达式: "asfasd asdf asdf".replace(/([a-zA-Z ])/g, ""); 收益率: "" 编辑: 我误解了你的问题。如果要阻止除数字以外的所有输入,请使用此正则表达式: function removeNotAllowedChars($input) {

我有一个只允许数字的字符串

$(this).val($(this).val().replace(/([a-zA-Z])/g, ""));

如何添加空格,以便在一个字符串中用“”替换?

只需将空格添加到正则表达式:

  "asfasd asdf asdf".replace(/([a-zA-Z ])/g, "");
收益率:

  ""
编辑: 我误解了你的问题。如果要阻止除数字以外的所有输入,请使用此正则表达式:

function removeNotAllowedChars($input) {
   $input.val($input.val().replace(/[^0-9]/g, ''));
}

$('#myText')
   .keyup(function() {
     var $input = $(this);
     removeNotAllowedChars($input);
   })
   .change(function() {
     var $input = $(this);
     removeNotAllowedChars($input);
   });

如果用户键入字符并在焦点更改后粘贴输入,则使用这些脚本会立即删除输入。请在此处尝试:

使用
\s
-匹配单个空白字符,包括空格、制表符、换行符和换行符。相当于


要仅匹配非数字,您可以使用
[^0-9]
而不是
[a-zA-Z]
(这称为a)


如果您希望输入只允许数字,使用HTML5,您只需执行
。要获得更广泛的支持,有很多JavaScript解决方案,请查看评论中的建议。

试试这个。。。你到底想在哪里添加空格?很好,谢谢,可能是重复的,但是一般来说,这样更容易防止空格键。这是我的函数$('*[data type validation=“numeric”]);有什么想法吗?如果用户键入文本,您的链接可以正常工作,但是如果用户粘贴文本,链接就会失败。@schlingel在该链接上有很多不同的解决方案,但确实看起来它们都使用了不同的键事件,而不是
输入
事件。我编辑了你的小提琴: