For the lads using TypeScript and those who don't want to deal with string prototypes, here is a typescript version of Ed.'s answer:
// Usage example:
"Some string".replace(/[^a-zA-Z0-9-_]/g, char => ToLatinMap.get(char) || '')
// Map:
export let ToLatinMap: Map<string, string> = new Map<string, string>([
["Á", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["Â", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["Ä", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["À", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["Å", "A"],
["?", "A"],
["?", "A"],
["?", "A"],
["Ã", "A"],
["?", "AA"],
["Æ", "AE"],
["?", "AE"],
["?", "AE"],
["?", "AO"],
["?", "AU"],
["?", "AV"],
["?", "AV"],
["?", "AY"],
["?", "B"],
["?", "B"],
["?", "B"],
["?", "B"],
["?", "B"],
["?", "B"],
["?", "C"],
["?", "C"],
["Ç", "C"],
["?", "C"],
["?", "C"],
["?", "C"],
["?", "C"],
["?", "C"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "D"],
["?", "DZ"],
["?", "DZ"],
["É", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["Ê", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["Ë", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["È", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "E"],
["?", "ET"],
["?", "F"],
["?", "F"],
["?", "G"],
["?", "G"],
["?", "G"],
["?", "G"],
["?", "G"],
["?", "G"],
["?", "G"],
["?", "G"],
["?", "G"],
["?", "H"],
["?", "H"],
["?", "H"],
["?", "H"],
["?", "H"],
["?", "H"],
["?", "H"],
["?", "H"],
["?", "H"],
["Í", "I"],
["?", "I"],
["?", "I"],
["Î", "I"],
["Ï", "I"],
["?", "I"],
["?", "I"],
["?", "I"],
["?", "I"],
["Ì", "I"],
["?", "I"],
["?", "I"],
["?", "I"],
["?", "I"],
["?", "I"],
["?", "I"],
["?", "I"],
["?", "D"],
["?", "F"],
["?", "G"],
["?", "R"],
["?", "S"],
["?", "T"],
["?", "IS"],
["?", "J"],
["?", "J"],
["?", "K"],
["?", "K"],
["?", "K"],
["?", "K"],
["?", "K"],
["?", "K"],
["?", "K"],
["?", "K"],
["?", "K"],
["?", "K"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "L"],
["?", "LJ"],
["?", "M"],
["?", "M"],
["?", "M"],
["?", "M"],
["?", "N"],
["?", "N"],
["?", "N"],
["?", "N"],
["?", "N"],
["?", "N"],
["?", "N"],
["?", "N"],
["?", "N"],
["?", "N"],
["?", "N"],
["Ñ", "N"],
["?", "NJ"],
["Ó", "O"],
["?", "O"],
["?", "O"],
["Ô", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["Ö", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["Ò", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["Ø", "O"],
["?", "O"],
["Õ", "O"],
["?", "O"],
["?", "O"],
["?", "O"],
["?", "OI"],
["?", "OO"],
["?", "E"],
["?", "O"],
["?", "OU"],
["?", "P"],
["?", "P"],
["?", "P"],
["?", "P"],
["?", "P"],
["?", "P"],
["?", "P"],
["?", "Q"],
["?", "Q"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "R"],
["?", "C"],
["?", "E"],
["?", "S"],
["?", "S"],
["Š", "S"],
["?", "S"],
["?", "S"],
["?", "S"],
["?", "S"],
["?", "S"],
["?", "S"],
["?", "S"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "T"],
["?", "A"],
["?", "L"],
["?", "M"],
["?", "V"],
["?", "TZ"],
["Ú", "U"],
["?", "U"],
["?", "U"],
["Û", "U"],
["?", "U"],
["Ü", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["Ù", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "U"],
["?", "V"],
["?", "V"],
["?", "V"],
["?", "V"],
["?", "VY"],
["?", "W"],
["?", "W"],
["?", "W"],
["?", "W"],
["?", "W"],
["?", "W"],
["?", "W"],
["?", "X"],
["?", "X"],
["Ý", "Y"],
["?", "Y"],
["Ÿ", "Y"],
["?", "Y"],
["?", "Y"],
["?", "Y"],
["?", "Y"],
["?", "Y"],
["?", "Y"],
["?", "Y"],
["?", "Y"],
["?", "Y"],
["?", "Z"],
["Ž", "Z"],
["?", "Z"],
["?", "Z"],
["?", "Z"],
["?", "Z"],
["?", "Z"],
["?", "Z"],
["?", "Z"],
["?", "IJ"],
["Œ", "OE"],
["?", "A"],
["?", "AE"],
["?", "B"],
["?", "B"],
["?", "C"],
["?", "D"],
["?", "E"],
["?", "F"],
["?", "G"],
["?", "G"],
["?", "H"],
["?", "I"],
["?", "R"],
["?", "J"],
["?", "K"],
["?", "L"],
["?", "L"],
["?", "M"],
["?", "N"],
["?", "O"],
["?", "OE"],
["?", "O"],
["?", "OU"],
["?", "P"],
["?", "R"],
["?", "N"],
["?", "R"],
["?", "S"],
["?", "T"],
["?", "E"],
["?", "R"],
["?", "U"],
["?", "V"],
["?", "W"],
["?", "Y"],
["?", "Z"],
["á", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["â", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["ä", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["à", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["å", "a"],
["?", "a"],
["?", "a"],
["?", "a"],
["ã", "a"],
["?", "aa"],
["æ", "ae"],
["?", "ae"],
["?", "ae"],
["?", "ao"],
["?", "au"],
["?", "av"],
["?", "av"],
["?", "ay"],
["?", "b"],
["?", "b"],
["?", "b"],
["?", "b"],
["?", "b"],
["?", "b"],
["?", "b"],
["?", "b"],
["?", "o"],
["?", "c"],
["?", "c"],
["ç", "c"],
["?", "c"],
["?", "c"],
["?", "c"],
["?", "c"],
["?", "c"],
["?", "c"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "d"],
["?", "i"],
["?", "j"],
["?", "j"],
["?", "j"],
["?", "dz"],
["?", "dz"],
["é", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["ê", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["ë", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["è", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "e"],
["?", "et"],
["?", "f"],
["ƒ", "f"],
["?", "f"],
["?", "f"],
["?", "g"],
["?", "g"],
["?", "g"],
["?", "g"],
["?", "g"],
["?", "g"],
["?", "g"],
["?", "g"],
["?", "g"],
["?", "g"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "hv"],
["í", "i"],
["?", "i"],
["?", "i"],
["î", "i"],
["ï", "i"],
["?", "i"],
["?", "i"],
["?", "i"],
["ì", "i"],
["?", "i"],
["?", "i"],
["?", "i"],
["?", "i"],
["?", "i"],
["?", "i"],
["?", "i"],
["?", "i"],
["?", "d"],
["?", "f"],
["?", "g"],
["?", "r"],
["?", "s"],
["?", "t"],
["?", "is"],
["?", "j"],
["?", "j"],
["?", "j"],
["?", "j"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "k"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "l"],
["?", "lj"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "m"],
["?", "m"],
["?", "m"],
["?", "m"],
["?", "m"],
["?", "m"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["?", "n"],
["ñ", "n"],
["?", "nj"],
["ó", "o"],
["?", "o"],
["?", "o"],
["ô", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["ö", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["ò", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["ø", "o"],
["?", "o"],
["õ", "o"],
["?", "o"],
["?", "o"],
["?", "o"],
["?", "oi"],
["?", "oo"],
["?", "e"],
["?", "e"],
["?", "o"],
["?", "o"],
["?", "ou"],
["?", "p"],
["?", "p"],
["?", "p"],
["?", "p"],
["?", "p"],
["?", "p"],
["?", "p"],
["?", "p"],
["?", "p"],
["?", "q"],
["?", "q"],
["?", "q"],
["?", "q"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "c"],
["?", "c"],
["?", "e"],
["?", "r"],
["?", "s"],
["?", "s"],
["š", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "s"],
["?", "g"],
["?", "o"],
["?", "o"],
["?", "u"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "t"],
["?", "th"],
["?", "a"],
["?", "ae"],
["?", "e"],
["?", "g"],
["?", "h"],
["?", "h"],
["?", "h"],
["?", "i"],
["?", "k"],
["?", "l"],
["?", "m"],
["?", "m"],
["?", "oe"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "r"],
["?", "t"],
["?", "v"],
["?", "w"],
["?", "y"],
["?", "tz"],
["ú", "u"],
["?", "u"],
["?", "u"],
["û", "u"],
["?", "u"],
["ü", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["ù", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "u"],
["?", "ue"],
["?", "um"],
["?", "v"],
["?", "v"],
["?", "v"],
["?", "v"],
["?", "v"],
["?", "v"],
["?", "v"],
["?", "vy"],
["?", "w"],
["?", "w"],
["?", "w"],
["?", "w"],
["?", "w"],
["?", "w"],
["?", "w"],
["?", "w"],
["?", "x"],
["?", "x"],
["?", "x"],
["ý", "y"],
["?", "y"],
["ÿ", "y"],
["?", "y"],
["?", "y"],
["?", "y"],
["?", "y"],
["?", "y"],
["?", "y"],
["?", "y"],
["?", "y"],
["?", "y"],
["?", "y"],
["?", "z"],
["ž", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "z"],
["?", "ff"],
["?", "ffi"],
["?", "ffl"],
["?", "fi"],
["?", "fl"],
["?", "ij"],
["œ", "oe"],
["?", "st"],
["?", "a"],
["?", "e"],
["?", "i"],
["?", "j"],
["?", "o"],
["?", "r"],
["?", "u"],
["?", "v"],
["?", "x"],
]);