键入非允许字符时无效

时间:2013-01-22 10:25:52

标签: javascript

我需要在文本输入字段中添加一个控件,以便它只允许使用一个标签,每次一个:

in the form: valid_hash = /#([a-zA-Z_0-9]+)/gim;


<input type="text" id="add_by_hand">

到目前为止:

$(function() {
  var txt = $("#add_by_hand");
  var func = function(e) {
    if(e.keyCode != "37" && e.keyCode != "38" && e.keyCode != "39" && e.keyCode != "40"){
        txt.val(txt.val().replace(/\s/g, ''));
    }
  }
  txt.keyup(func).blur(func);
});

这只是为了避免空格(因此每次只有一个#标签) 但我想以一种方式验证它,如果一个不被valid_hash变量所允许的字符自动删除。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在您的函数中尝试此代码:

 if(! valid_hash.test(txt.val()+String.fromCharCode(e.keyCode))){     
    return false; //avoid key.
}