buenas...
de acuerdo a como estas realizando la validación, no comprendo para que quieres controlar las teclas pulsadas; específicamente las teclas space bar y backspace. me parece a mí, la validación que quieres realizar es por contenido y no por filtración de teclas. primero, el proceso esta mal hecho, no puedes comparar el objeto devuelto por jquery y el objeto RegExp -la expresión en si- porque obviamente son dos objetos distintos. debes usar el método
test para comprobar que el patrón coincide con el contenido del campo. y segundo, el patrón esta mal formulado. el guión dentro de un par de corchete se utiliza para declarar un rango de caracteres. por tanto es inválido declarar algo como 0-9-k-K. el rango de los números esta bien, pero el resto no. para declarar el resto de los caracteres simplemente debes escribirlo secuencialmente con excepción de aquellos que tengan un significado particular en las expresiones. para esos casos, debes escaparlo con un backslash -diagonal inversa- para que la considere como literal. la expresión se escribe así: /[^0-9kK\-]/. la otra expresión te la dejo para que practiques.