function somenteNumero(obj,e)
{
var valor, val;
liberado = new Array(',','.');
liberadoE = new Array(188,190,8);
valor = obj.value;
if(document.all)
{
if(!((e.keyCode > 47 && e.keyCode < 58) || Array.find(liberadoE,e.keyCode) != '-1' )) {
obj.value = valor.substr(0,valor.length - 1);
}
}
else
{
val = '';
for (x = 0; x < valor.length; x++)
{
if(!isNaN(valor[x]) || Array.find(liberado,valor[x]) != '-1')
{
val += valor[x];
}
}
obj.value = val;
}
}
Array.find = function(ary, element)
{
for(var i=0; i<ary.length; i++)
{
if(ary == element)
{
return i;
}
}
return -1;
}
<input name="campo" onkeyup="somenteNumero(this,event)" >

Nícolas Müller
Sou um profissional da área de internet, trabalho como programador, designer e desenvolvedor de site.
» Site do colunista
Todas as matérias de Nícolas Müller



© 2005 - 2008 - Oficina da Net - v 4.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.
Angelo
Publicado em: 26/07/2007 - 11:13
Mais simples :) /*O parametro 'e' é o event! /*exemplo de chamada: <input type="text" name"nome" onKeyPress="return SomenteNumero(event);" size="50"> function SomenteNumero(e){ var tecla=(window.event)?event.keyCode:e.which; if((tecla > 47 && tecla < 58)) return true; else{ if (tecla != 8) return false; else return true; } }