JSFiddle - React, Tailwind, and code Playground

by Fernando Leal

CSS

body { white-space: pre; font-family: monospace; }

JavaScript

function prepareQuery(query){
    return query
    	// remover espaços do inicio e fim
        .trim()
    	// troca todos os espaço pelo coringa /.+/
        .replace(/\s/, ".+");
}

function executeQuery(base, query){
    var regex = new RegExp(query, /*i para case-insensitive*/ "i");
    return regex.test(base);
}

// limpa body
document.body.innerHTML = "";
function print(value){
    // para imprimir do DOM
    var element = document.createElement("p");
    element.textContent = value;
    document.body.appendChild(element);
}

function test(){
    var base = "Manoel da Silva";
    var tests = [
        "Manoel Silva",
        "Man Silva",
        "Manoel lva",
        "Manoel a",
        "M Silva",
        "Silva",
        "Manoel",
        "Man va",
        "M a",
        "M",
        "ManoelSilva",
        "Manlva",
        "Ma",
        "Pedro Silva",
    ];
    
    for(var itest in tests){
        var test = tests[itest];
        var query = prepareQuery(test);
        print(test + " : " + executeQuery(base, query));
    }
}
test();