我正在寻找进入的方法JavaScript
转换non-ASCII
字符串中的字符与其最接近的等效字符,类似于PHP
iconv https://www.php.net/manual/en/function.iconv.php函数确实如此。例如,如果输入字符串是Rånades på Skyttis i Ö-vik
,它应该转换为Ranades pa skyttis i o-vik
。我看了一下phpjs http://phpjs.org/ but iconv
不包括在内。
是否可以在 JavaScript 中执行此类转换,如果可以,如何执行?
Notes:
- 更一般地,这个转换过程称为音译 https://en.wikipedia.org/wiki/Transliteration
- 我的用例是创建 URL slugs
我发现的最简单的方法:
var str = "Rånades på Skyttis i Ö-vik";
var combining = /[\u0300-\u036F]/g;
console.log(str.normalize('NFKD').replace(combining, ''));
参考见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)