我需要检查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?
答案 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;
}