Jquery: wejście filtru po naciśnięciu klawisza

Mam pole tekstowe, które akceptuje tylko następujące znaki:

Dozwolone znaki: [a-z 0-9 + # -.]

To ten sam filtrWIĘC robi w polu „Tagi”, gdy zadajesz pytanie. Jeśli użytkownik wpisze nieprawidłowy znak, chcę, aby bieżąca wartość pola tekstowego pozostała niezmieniona. Próbowałem:

$('#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, ''));
    }
})

Dlaczego to nie działa? Dzięki!

questionAnswers(5)

yourAnswerToTheQuestion