Executando correspondências Regex sem distinção entre maiúsculas e minúsculas em JavaScript
Ao trabalhar com URLs, muitas vezes é necessário extrair dados da string de consulta. Em JavaScript, usar expressões regulares para realizar essa extração pode ser simples, mas garantir que não diferenciam maiúsculas de minúsculas pode ser um desafio.
Nesta postagem, exploramos um problema comum em que uma comparação que diferencia maiúsculas de minúsculas pode levar a resultados inconsistentes. Vamos considerar o seguinte trecho de código:
var results = new RegExp('[\\?&]' name '=([^&#]*)').exec(window.location.href); if (!results) { return 0; } return results[1] || 0;
Este código tem como objetivo extrair o valor de um parâmetro de string de consulta denominado 'nome' do URL atual. No entanto, ele não realiza uma comparação sem distinção entre maiúsculas e minúsculas para o nome da string de consulta, o que pode resultar em comportamento inesperado se o nome for inserido com letras maiúsculas e minúsculas diferentes.
Para resolver esse problema, podemos utilizar o 'i' modificador em nossa expressão regular para tornar a comparação insensível a maiúsculas e minúsculas. Este modificador deve ser adicionado imediatamente após a última barra na expressão regular, conforme mostrado abaixo:
var results = new RegExp('[\\?&]' name '=([^&#]*)', 'i').exec(window.location.href);
Ao incluir o modificador 'i', a expressão regular agora irá ignorar o caso do nome da string de consulta, garantindo que o a comparação será bem-sucedida independentemente da caixa da entrada.
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