Sim*_*mon 10 javascript ascii utf-8 iconv
我想知道如何使用Javascript将UTF-8中的字符"转换"为最接近的ASCII等价物,就像PHP中的Iconv doest一样.
例:
ü变成你
成为o
我宁愿不使用替换,因为a)它需要一组完整的字符,这是很多工作而且b)我很难得到一套完整的字符,而且我永远不会确定如果我错过了一两个.
小智 14
我找到的最简单的方法:
var str = "üó";
var combining = /[\u0300-\u036F]/g;
console.log(str.normalize('NFKD').replace(combining, ''));
Run Code Online (Sandbox Code Playgroud)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
正如@Pointy所说,你唯一的选择是根据字典映射/替换字符.
你会发现这非常有用:https://github.com/backbone-paginator/backbone.paginator/blob/a579796a30e583c4dfa09e0a86e4abd21e0b5b56/plugins/diacritic.js