No contexto da consulta referenciada no título, "Javascript RegEx Not Working ," um usuário encontrou um problema em que uma expressão regular (regEx) retornava consistentemente falso, independentemente do valor de entrada. O snippet de código fornecido na consulta é o seguinte:
function checkLegalYear() {
var val = "02/2010";
if (val != '') {
var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g");
if (regEx.test(val)) {
//do something
}
else {
//do something
}
}
}
O usuário tentou validar entradas de ano usando um RegEx e obteve resultados inesperados. Apesar de testar esse código em vários editores on-line, o RegEx continuou retornando falso.
Resolvendo o problema:
A raiz do problema está no método usado para criar o objeto RegEx. Ao definir um RegEx a partir de uma string, os caracteres de barra invertida devem ser duplicados para evitar interpretações incorretas durante o processo de análise. Para corrigir isso, o seguinte código deve ser usado:
var regEx = new RegExp("^(0[1-9]|1[0-2])//\\d{4}$", "g");
Como alternativa, é recomendado usar a sintaxe RegEx diretamente, o que elimina a necessidade de duplicar barras invertidas:
var regEx = /^(0[1-9]|1[0-2])//\\d{4}$/g;
Ao implementar essas modificações, o RegEx deve agora funcionar como pretendido, validando as entradas do ano e fornecendo informações precisas resultados.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3