Aqui te dejo un ejemplo en javascript.  Analizalo y trata de crear tambien una verificación del lado del servidor usando este ejemplo.  
    
Código html:
Ver original<script language="javascript"> function validar(e){
    tecla = (document.all)?e.keyCode:e.which;
    if (tecla==8) return true;
    patron = /[\-xX0]/;
    patronExtra = /[0]/;
    if(patronExtra.test(document.formulario.campo.value)){
        return false;
    }
    te = String.fromCharCode(tecla);
    return patron.test(te);
} 
<input type="text" name="campo" maxlength="3" onKeyPress="return validar(event)" /> 
  
Escribe en el campo para que veas que es lo que hace.  Solo te debe permitir escribir caracteres 
- x 0 y con las restricciones que dijiste.