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>