Jquery: filter input on keypress
问题 I have a text field, which will accept only the following characters: Allowed characters: [a-z 0-9 + # - .] This is the same filter SO does in the 'Tags' field, when you're asking a question. If the user types an invalid character, i want the current text field value to remain unchanged. I tried: $('#post_tags').keypress(function(event){ var char = String.fromCharCode(event.which) var txt = $(this).val() if (! txt.match(/[^A-Za-z0-9+#-\.]/)){ $(this).val(txt.replace(char, '')); } }) Why it