Reputation: 115
I have the following jQuery.
$(document).ready(function() {
$('#name').bind('keypress', function(e) {
if($('#name').val().length == 0){
if (e.which == 32){//space bar
e.preventDefault();
}
}
});
});
It accepts any character except space when the length is 0. How do I allow user to enter only a-z A-z 0-9 _ and space(in between characters)?
Upvotes: 1
Views: 4260
Reputation: 1810
Try This...
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;
});
});
Upvotes: 0
Reputation: 56509
Why don't you try it in regex
/[^A-Za-z0-9_\s]/
Update: Try this
$(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]/, ''))
}
});
});
Upvotes: 3
Reputation: 6156
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();
}
}
Something like would help you ..Try this and let me know
Upvotes: 1