我有这个代码,它允许文本框中的所有字符。它只允许字母和数字作为第一个字符。现在,我如何只允许空格和下划线以及字母和数字?我只想在jQuery中使用代码。我在这里找到了类似的解决方案,但它不包含jQuery代码。 http://jsfiddle.net/fwcfq/39/
$('#value').bind('keypress', function(e) {
if($('#value').val().length == 0){
if (e.which == 32){//space bar
e.preventDefault();
}
var valid = (e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122);
if (!valid) {
e.preventDefault();
}
}
});
答案 0 :(得分:1)
此代码将执行您想要的操作
$('#value').bind('keypress', function (e) {
if ($('#value').val().length == 0) {
if (e.which == 32) { //space bar
e.preventDefault();
}
var valid = (e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122);
if (!valid) {
e.preventDefault();
}
} else {
var valid = (e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122 || e.which == 32 || e.which == 95 || e.which == 8);
if (!valid) {
e.preventDefault();
}
}
});
此方法假定您知道要接受的所有密钥。例如,除非您明确允许,否则将拒绝Enter键。
答案 1 :(得分:0)
你也可以使用许多jQuery插件之一做同样的事情。 示例:http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input
正则表达式将是:[a-zA-Z _]