JavaScript编号验证从0到10

时间:2014-04-07 01:48:54

标签: javascript validation

我需要检查JavaScript中的数字是否在0到10之间。

守则:

<html>
<head>
<script>
function compruebacampo(evt,campotexto) {
    //Validar la existencia del objeto event
    evt = (evt) ? evt : event;

    //Extraer el codigo del caracter de uno de los diferentes grupos de codigos
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :    
        ((evt.which) ? evt.which : 0));

    //Predefinir como valido
    var respuesta = true;

    //Validar si el codigo corresponde a
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        //Asignar FALSE a la respuesta si es de los NO aceptables
        respuesta = false;
    }

    //Valida rango valido 1-10
    if ((campotexto.value + String.fromCharCode(charCode))>10 ||(campotexto.value +    
        String.fromCharCode(charCode))<0) {
        respuesta = false;
    }

    //Regresar la respuesta
    return respuesta;
}
</script>

</head>
<body>
    <input type="textbox" onkeypress="return compruebacampo(event,this)" >
</body>
</html>

我有这个,但它仅在1-10之间有效。如何在数字验证中包含'0'ONCE?

1 个答案:

答案 0 :(得分:0)

function compruebacampo(evt, campotexto)
{
    var charCodeOfZero = 48;
    var numberJustEntered = evt.charCode - charCodeOfZero;
    var fullString = campotexto.value + "" + numberJustEntered;

    var matchesOne = false;
    for (var i = 0; i <= 10; i++) {
        if (fullString == ("" + i)) 
             matchesOne = true;
    }

    if (!matchesOne) return false;
}