Para números decimales por ejemplo 22.33 y .44 , sólo acepta números y un punto
function onKeyDecimal(e,thix) {
var keynum = window.event ? window.event.keyCode : e.which;
if (document.getElementById(thix.id).value.indexOf('.') != -1 && keynum == 46)
return false;
if ((keynum == 8 || keynum == 48 || keynum == 46))
return true;
if (keynum <= 47 || keynum >= 58) return false;
return /\d/.test(String.fromCharCode(keynum));
}
Para validar número enteros, es decir sin puntos el siguiente método que sólo acepta números
function justNumbers(e) {
var keynum = window.event ? window.event.keyCode : e.which;
if ((keynum == 8 || keynum == 48))
return true;
if (keynum <= 47 || keynum >= 58) return false;
return /\d/.test(String.fromCharCode(keynum));
}
Para utilizarlos agrega el evento keyprees a tu caja de texto
<asp:TextBox ID="txtTalla" MaxLength="3" onkeypress="return justNumbers(event);" runat="server"></asp:TextBox>
Noten como en el evento que validar los números decimales se requiere de el parámetros this que nos ayuda a conocer el contenido de la caja de texto
<asp:TextBox ID="txtPrecioCompra" onkeypress="return onKeyDecimal(event,this);" Width="80px" MaxLength="8" runat="server"></asp:TextBox>
Excelente Funciono como esperaba Gracias por el aporte
ResponderBorrarEste comentario ha sido eliminado por el autor.
ResponderBorrargracias por el aporte me sirvió de mucho funciona excelente
ResponderBorrargracias por el aporte me sirvió de mucho funciona excelente
ResponderBorrarBuen aporte. salu2
ResponderBorrarGracias por el aporte Mari Lu, me ayudaste mucho :3
ResponderBorrarQ tal me parece super interesante tu codigo, muchas gracias, pero tengo un inconveniente. Tengo 2 modal el primero para ingresar y el segundo para editar, al ingresar me funciona correctamente pero cuando trae el valor decimal permite ingresar varios "."
ResponderBorrarMe puedes ayudar? Gracias
Perdoname si utilizo tu blog para dar la solucion que encontre pero alguien mas la pueda estar buscando, el codigo es parecido al tuyo pero evita el error antes mencionado.
Borrarfunction NumCheck(e, field) {
key = e.keyCode ? e.keyCode : e.which
if (key == 8) return true
if (key > 47 && key < 58) {
if (field.value == "") return true
regexp = /.[0-9]{5}$/
return !(regexp.test(field.value))
}
if (key == 46) {
if (field.value == "") return false
regexp = /^[0-9]+$/
return regexp.test(field.value)
}
return false
}
Muy bien, disculpa no lo vi antes, y no me topé con ese error del modal, buena aportación muchachos
ResponderBorrarFunciona excelente!
ResponderBorrar