Skip to content

Instantly share code, notes, and snippets.

@seebz
Last active August 29, 2015 14:07
Show Gist options
  • Select an option

  • Save seebz/30e4e1644144423a1e93 to your computer and use it in GitHub Desktop.

Select an option

Save seebz/30e4e1644144423a1e93 to your computer and use it in GitHub Desktop.
Javascript String.removeAccent()
/**
* "À côté d'un verre vide, il y a toujours un mec plein.".removeAccent(); // A cote d'un verre vide, [...]
*/
String.prototype.removeAccent = function() {
var alphabet = {
A : ["\u00C0", "\u00C1", "\u00C2", "\u00C3", "\u00C4", "\u00C5", "\u0100", "\u0102", "\u0104", "\u01E0", "\u01FA"],
a : ["\u00E0", "\u00E1", "\u00E2", "\u00E3", "\u00E4", "\u00E5", "\u0101", "\u0103", "\u0105", "\u01E1", "\u01FB"],
B : [],
b : [],
C : ["\u00C7", "\u0106", "\u0108", "\u010A", "\u010C"],
c : ["\u00E7", "\u0107", "\u0109", "\u010B", "\u010D"],
D : ["\u010E", "\u0110"],
d : ["\u010F", "\u0111"],
E : ["\u00C8", "\u00C9", "\u00CA", "\u00CB", "\u0112", "\u0114", "\u0116", "\u0118", "\u011A"],
e : ["\u00E8", "\u00E9", "\u00EA", "\u00EB", "\u0113", "\u0115", "\u0117", "\u0119", "\u011B"],
G : ["\u011C", "\u011E", "\u0120", "\u0122"],
g : ["\u011D", "\u011F", "\u0121", "\u0123"],
H : ["\u0124", "\u0126"],
h : ["\u0125", "\u0127"],
I : ["\u00CC", "\u00CD", "\u00CE", "\u00CF", "\u0128", "\u012A", "\u012C", "\u012E", "\u0130"],
i : ["\u00EC", "\u00ED", "\u00EE", "\u00EF", "\u0129", "\u012B", "\u012D", "\u012F", "\u0131"],
J : ["\u0134"],
j : ["\u0135"],
K : ["\u0136"],
k : ["\u0137"],
L : ["\u0139", "\u013B", "\u013D", "\u013F", "\u0141"],
l : ["\u013A", "\u013C", "\u013E", "\u0140", "\u0142"],
N : ["\u00D1", "\u0143", "\u0145", "\u0147"],
n : ["\u00F1", "\u0144", "\u0146", "\u0148"],
O : ["\u00D2", "\u00D3", "\u00D4", "\u00D5", "\u00D6", "\u00D8", "\u014C", "\u014E", "\u0150"],
o : ["\u00F2", "\u00F3", "\u00F4", "\u00F5", "\u00F6", "\u00F8", "\u014D", "\u014F", "\u0151"],
R : ["\u0154", "\u0156", "\u0158"],
r : ["\u0155", "\u0157", "\u0159"],
S : ["\u015A", "\u015C", "\u015E", "\u0160"],
s : ["\u015B", "\u015D", "\u015F", "\u0161"],
T : ["\u0162", "\u0164", "\u0166"],
t : ["\u0163", "\u0165", "\u0167"],
U : ["\u00D9", "\u00DA", "\u00DB", "\u00DC", "\u0168", "\u016A", "\u016C", "\u016E", "\u0170", "\u0172"],
u : ["\u00F9", "\u00FA", "\u00FB", "\u00FC", "\u0169", "\u016B", "\u016D", "\u016F", "\u0171", "\u0173"],
V : [],
v : [],
W : ["\u0174"],
w : ["\u0175"],
X : [],
x : [],
Y : ["\u00DD", "\u0176", "\u0178"],
y : ["\u00FD", "\u00FF", "\u0177"],
Z : ["\u0179", "\u017B", "\u017D"],
z : ["\u017A", "\u017C", "\u017E"],
AE: ["\u00C6", "\u01E2", "\u01FC"],
ae: ["\u00E6", "\u01E3", "\u01FD"],
IJ: ["\u0132"],
ij: ["\u0133"],
OE: ["\u0152"],
oe: ["\u0153"],
"": ["\u0300", "\u0301", "\u0302", "\u0303", "\u0308"]
};
var str = "" + this;
for (var letter in alphabet) {
var reg = new RegExp("[" + alphabet[letter].join("") + "]", "g");
str = str.replace(reg, letter);
}
return str;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment