正则表达式允许使用字母数字的空格

Ahm*_*yas 6 jquery

我有这个:

$("#MyInputBox").keypress(function (e) {
  if (e.charCode != 0) {
    var regex = new RegExp("^[a-zA-Z0-9\-\s]+$");
    var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (!regex.test(key)) {
      e.preventDefault();
      return false;
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

问题是,它不允许我进入空间.我希望它允许一个空间.其他一切都很好(即我可以输入数字,字母,短划线......但不能输入空格.)

Dr.*_*lle 14

你必须在之前逃避反斜杠 s

var regex = new RegExp("^[a-zA-Z0-9\\-\\s]+$");
Run Code Online (Sandbox Code Playgroud)

或者省略构造函数:

var regex = /^[a-zA-Z0-9\-\s]+$/
Run Code Online (Sandbox Code Playgroud)