Uma maneira simples de usar a regularidade para determinar se a entrada é um número:
input1 = '0281234567'; input2 = '0282345678'; var reg = /^/d+$/g ;g.test(input1); //truereg.test(input2); //falso
Descobri que o valor retornado durante o segundo teste estava incorreto. Depois de excluir vários fatores de interferência, como erros de escrita, falha na obtenção de valor etc., descobri que o Reg regular não pode ser executado corretamente apenas durante a segunda execução da segunda execução do Reg. Eu não encontrei esse problema antes, então procurei informações relevantes.
Acontece que esse problema é realmente causado por /G, e eu descobri que realmente usei mal /g para esta regra. Como /g representa a correspondência global, há um LastIndex dentro ao julgar a regra para registrar a última posição da partida. Quando chamadas repetidas, o LastIndex continuará correspondendo, o que levará a um erro de julgamento. Se você entender o princípio e resolvê -lo, ficará claro:
1. Remova /g, e não adicione /g à vontade se /g não for necessário
2. Antes da segunda partida, defina manualmente o LastIndex para 0. Por exemplo, acima: Reg.LastIndex () = 0.
O exposto acima é a solução que o teste regular () não pode ser executado corretamente devido ao uso indevido de /g em JavaScript apresentado a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!