El código de validación de JQuery no permitirá la eliminación del texto introducido

Tomé prestado un poco de código de esta pregunta (ver respuesta 4):

¿Cómo puedo bloquear o restringir los caracteres especiales de los campos de entrada con jquery?

Sin embargo, al usar el código, parece que, a pesar de que realiza la validación a medida que escribe, no le permite editar nada de lo que haya ingresado.

$('input').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
   event.preventDefault();
   return false;
}});

Estoy un poco confundido, he intentado ajustarlo cambiando la pulsación de tecla a keyup pero esto solo impide que la validación funcione. Cualquier puntero sería aceptado gentilmente.

Respuestas a la pregunta(2)

Su respuesta a la pregunta