Validar si el valor de un Input (Text) es Integer en JavaScript


Este es un pequeño código para validar que el dato de entrada de un input (HTML),
sea entero. Para este pequeño script se necesita la función _IsInteger, de la
libreria que publique hace unos meses en Coders.me:


function _IsInteger(str)
{
if (typeof(str)=='undefined')
{
return false;
}
var expr = /^[\+\-]?[0-9]*$/;
if (!expr.test(str))
return false;

return true;
}


Lo unico que hay que hacer es agregar esta otra función:



function valInteger(ctrl){
if(!(IsInteger(ctrl.value))){
if(isNaN(parseInt(ctrl.value))){
ctrl.value = "";
}else{
ctrl.value = parseInt(ctrl.value);
}
}
}


Y ya estamos listos para validar entradas: simplemente agregando en algun evento mandamos llamar la validación y listo



<input id="Clave" name="Clave" size="20" type="text"
onKeyUp="javascript:valInteger(this);" />


Carlos

1 Response to "Validar si el valor de un Input (Text) es Integer en JavaScript"

Anónimo said :
7 de marzo de 2010, 3:03
La función _IsInteger, tiene un error.

var expr = /^[\+\-]?[0-9]*$/;

Te sugiero que le cambies el '*' por un '+'.

var expr = /^[\+\-]?[0-9]+$/;

De lo contrario, el no escribir nada o escribir un '+' o un '-' darían como positivos.

Saludos!!

Publicar un comentario en la entrada

Sígueme en Twitter