Existe um trecho de código assim: o resultado de if (RegExp.test(num)) é TRUE todas as vezes no IE, mas no Fire Fox, se for True na primeira vez, deve ser False na segunda vez e aparece alternadamente depois disso. Dê uma olhada nas soluções anteriores:
Método 1: Altere if (RegExp.test(num)) para if (num.match(RegExp))
Método 2: Use processamento de objeto RegExp, ou seja, new RegExp("^(-)?[0-9]*$").
De qualquer forma, tentei, mas funcionou. não é possível obter o efeito de compatibilidade. Na verdade, o último problema fundamental não é qual objeto regular usar, mas o "g" na expressão faz com que o efeito no Firefox seja inconsistente com o IE. O Firefox trata o RegExp como um global. variável, então a maneira mais simples e eficaz é usar var RegExp =/^(-)?[0-9]*$/g Alterar para var RegExp=/^(-)?[0-9]*$ /, uma boa solução não se preocupa com a complexidade, mas sim com a solução certa, então Afinal, a situação não é comum.
função éNum(num){
if(num.comprimento==0){
retornar falso;
}
var RegExp=/^(-)?[0-9]*$/g;
if (RegExp.teste(num)){
retornar verdadeiro;
}outro{
retornar falso;
}
}