/ / como usar regex com variável de entrada do usuário - javascript, regex

como usar regex com variável de entrada do usuário - javascript, regex

Estou recebendo uma matriz de objetos usando JSON emeu objetivo é permitir que o usuário pesquise um login específico. Para isso, quero que eles possam digitar uma letra e verificar o login de cada objeto, se a letra estiver contida, quero exibi-la. Para conseguir isso, trabalhei no seguinte código:

var i;
var out="";
var exp=/d/g;
var result = " ";
for(i=0;i<users.length;i++){
result= exp.test(users[i].login);
if(result){
out+= users[i].login+ " ";
}

}

Funciona bem se eu escrever o regex (neste casod) mas uma vez que tento colocar uma variável dentro do regex, não funcionará. Como crio uma regex que leva a entrada dos usuários e trabalha com a função de teste para executar a mesma tarefa? Ou idk, se houver uma solução melhor / mais elegante para isso. Eu sei que já existem perguntas diferentes sobre regex, mas não encontrei uma que me ajudou.

Aprecie a ajuda!

Respostas:

0 para resposta № 1

Você está testando uma sequência literal - essa sequência é passada pelo usuário, mas ainda é literal, não uma expressão regular.

Então você deve tentar:

if( users[i].login.indexOf(userInput) > -1)

Isso passará se a entrada fornecida estiver na string pesquisada.