我有以下jQuery。
$(document).ready(function() {
$('#name').bind('keypress', function(e) {
if($('#name').val().length == 0){
if (e.which == 32){//space bar
e.preventDefault();
}
}
});
});
当长度为0时,它接受除空格之外的任何字符。如何允许用户仅输入a-z A-z 0-9 _和空格(在字符之间)?
答案 0 :(得分:3)
为什么不在 regex
/[^A-Za-z0-9_\s]/
<强>更新强> 试试这个
$(document).ready(function () {
$('#name').bind('keypress', function (e) {
// Filter non-digits from input value.
if ($('#name').val().length == 0) {
if (e.which == 32) { //space bar
e.preventDefault();
}
} else {
$(this).val($(this).val().replace(/[^A-Za-z0-9_\s]/, ''))
}
});
});
答案 1 :(得分:1)
function EnableAlphaNumericSpecial(event) {
// 65 - 90 = smaller case 'a', 32 - space, 48 - 58 - numeric - (0 - 9), 39 - ',35-#, 45- -
var keyCode = event.charCode;
if (keyCode == undefined)
keyCode = event.keyCode;
if ((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (keyCode >= 48 && keyCode <= 57) || (keyCode == 32) || (keyCode == 39) || (keyCode == 45) || (keyCode == 35) || (keyCode == 0))
event.returnValue = true;
else { //check if it is a IE browser or Firefox browser.
if (window.event)
event.returnValue = false;
else
event.preventDefault();
}
}
像你这样的东西可以帮助你......尝试一下,让我知道
答案 2 :(得分:0)
试试这个...
jQuery(document).ready(function($){
$('#name').keypress(function (e) {
var regex = new RegExp("^[0-9a-zA-Z_\. ]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
});
});