JSFiddle - React, Tailwind, and code Playground

by Kearnan Kelly

HTML

<input id="test" style="border:2px solid blue; height:20px;"/>

JavaScript

var names = [{
    value: "1",
    label: "Örn Kerer"},
{
    value: "2",
    label: "ález  MART"},
{
    value: "3",
    label: "Şak HURGE"}]

var accentMap = {
    "á": "a",
    "ö": "o",
    "Ş": "S",
    "á": "a"
};
var normalize = function(term) {
    var ret = "";
    for (var i = 0; i < term.length; i++) {
        ret += accentMap[term.charAt(i)] || term.charAt(i);
    }
    return ret;
};

$("#test").autocomplete({
    source: function(request, response) {
        var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
        response($.grep(names, function(value) {
            value = value.label || value.value || value;
            return matcher.test(value) || matcher.test(normalize(value));
        }));
    }
});