Skip to content

Instantly share code, notes, and snippets.

@pacotole
Last active August 29, 2015 14:14
Show Gist options
  • Save pacotole/e1184830c637998f0363 to your computer and use it in GitHub Desktop.
Save pacotole/e1184830c637998f0363 to your computer and use it in GitHub Desktop.
replace diacritics characters with regular chars
// replace diacritics characters with regular character
// if tolower is true return str in lower case
function clean_diacritics(str, tolower) {
var map = {
'ae' : /ä|æ|ǽ/g,
'oe' : /ö|œ/g,
'ue' : /ü/g,
'Ae' : /Ä/g,
'Ue' : /Ü/g,
'Oe' : /Ö/g,
'A' : /À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/g,
'a' : /à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/g,
'C' : /Ç|Ć|Ĉ|Ċ|Č/g,
'c' : /ç|ć|ĉ|ċ|č/g,
'D' : /Ð|Ď|Đ/g,
'd' : /ð|ď|đ/g,
'E' : /È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/g,
'e' : /è|é|ê|ë|ē|ĕ|ė|ę|ě/g,
'G' : /Ĝ|Ğ|Ġ|Ģ/g,
'g' : /ĝ|ğ|ġ|ģ/g,
'H' : /Ĥ|Ħ/g,
'h' : /ĥ|ħ/g,
'I' : /Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/g,
'i' : /ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/g,
'J' : /Ĵ/g,
'j' : /ĵ/g,
'K' : /Ķ/g,
'k' : /ķ/g,
'L' : /Ĺ|Ļ|Ľ|Ŀ|Ł/g,
'l' : /ĺ|ļ|ľ|ŀ|ł/g,
'N' : /Ñ|Ń|Ņ|Ň/g,
'n' : /ñ|ń|ņ|ň|ʼn/g,
'O' : /Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/g,
'o' : /ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/g,
'R' : /Ŕ|Ŗ|Ř/g,
'r' : /ŕ|ŗ|ř/g,
'S' : /Ś|Ŝ|Ş|Š/g,
's' : /ś|ŝ|ş|š|ſ/g,
'T' : /Ţ|Ť|Ŧ/g,
't' : /ţ|ť|ŧ/g,
'U' : /Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/g,
'u' : /ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/g,
'Y' : /Ý|Ÿ|Ŷ/g,
'y' : /ý|ÿ|ŷ/g,
'W' : /Ŵ/g,
'w' : /ŵ/g,
'Z' : /Ź|Ż|Ž/g,
'z' : /ź|ż|ž/g,
'AE' : /Æ|Ǽ/g,
'ss' : /ß/g,
'IJ' : /IJ/g,
'ij' : /ij/g,
'OE' : /Œ/g,
'f' : /ƒ/g
};
if (tolower){
str = str.toLowerCase();
}
for (var i in map){
str = str.replace(map[i], i);
}
return str;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment