Existen múltiples validadores en jquery para validar controles de formularios que podrías utilizar sin necesidad de implementar nada como por ejemplo este para rangos: http://jqueryvalidation.org/range-method/
Si lo que quieres es implementarlo en javascript puro sin necesidad de librerías externas puedes hacerlo así:
HTML:
<form action="http://requestb.in/1je9gxf1" onsubmit="return validar(this)">
<input type="text" id="txt-a-validar" data-range-min="1" data-range-max="5" value="0" />
<input type="submit" value="Validar" />
</form>
Javascript:
<script type="text/javascript">
function validar(form) {
var txtAValidar = document.getElementById("txt-a-validar");
var min = parseInt(txtAValidar.attributes["data-range-min"].value)
var max = parseInt(txtAValidar.attributes["data-range-max"].value)
var valor = parseInt(txtAValidar.value);
if(valor < min | valor > max){
alert("El valor debe de estar entre " + min + " y " + max + ". Valor actual: " + valor);
return false;
}
};
</script>
Como ves es un validador muy sencillo que ni siquiera tiene en cuenta el formato del valor (si pusiera un texto o vacío fallaría) pero te puede servir como punto de partida.
Para hacerlo más flexible he optado por especificar los parámetros de rango en un atributo para que puedas tener varios inputs validables con diferentes rangos.