Sei que o tópico é antigo, mas pode ajudar visitantes futuros.
Como no nome do tópico dizia “Expressao Regular - Somente números.”, imaginei que a expressão deveria apenas aceitar números. Então vale a atenção para um pequeno detalhe:
A expressão [0-9]+ procura por qualquer ocorrência de 1 ou mais algarismos e caso encontre valida a condição:
function validarCampoNumerico(numero){
var er = new RegExp("[0-9]+");
return (er.test(numero));
}
A função acima retornaria True para valores como: @#Legal!!!11, a1b2c3d4e5, Númer0 e falso para valores como: @#Legal!!, abcde, Número.
Ou seja, basta ter um caractere numerico em qualquer posição da string do parâmetro para que a condição seja atendita e validada.
Já um método que apenas valide caracteres numericos:
function validarCampoNumerico(numero){
var er = new RegExp(/^[0-9]{1,}$/);
return (er.test(numero));
}
Utilizando recursos citados pelo Jvabuntu e o bobmoe.
Esta expressão aceitaria apenas cadeida de caracteres numericos excluindo caracteres especiais, letras e espaços.
Espero os próximos visitantes que verão este tópico.