将非ASCII字符(umlauts,口音...)转换为其最接近的ASCII等效(slug创建) [英] Convert non-ASCII characters (umlauts, accents...) to their closest ASCII equivalent (slug creation)

查看:157
本文介绍了将非ASCII字符(umlauts,口音...)转换为其最接近的ASCII等效(slug创建)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 JavaScript 中寻找将字符串中的非 - ASCII 字符转换为最接近的等效字符,类似于 PHP iconv 功能。例如,如果输入字符串RånadespåSkyttis iÖ-vik ,则应转换为 Ranades pa skyttis i o-vik 。我看了一下 phpjs ,但 iconv 可以在JavaScript中执行此类转换,如果是这样的话。

解决方案

我找到的最简单的方法:

  var str =RånadespåSkyttis iÖ-vik; 
var combining = / [\\\̀ -\\\ͯ] / g;

console.log(str.normalize('NFKD')。replace(combining,''));


I am looking for way in JavaScript to convert non-ASCII characters in a string to their closest equivalent, similarly to what the PHP iconv function does. For instance if the input string is Rånades på Skyttis i Ö-vik, it should be converted to Ranades pa skyttis i o-vik. I had a look at phpjs but iconv isn't included.

Is it possible to perform such conversion in JavaScript, if so how?

解决方案

The easiest way I've found:

var str = "Rånades på Skyttis i Ö-vik";
var combining = /[\u0300-\u036F]/g; 

console.log(str.normalize('NFKD').replace(combining, ''));

这篇关于将非ASCII字符(umlauts,口音...)转换为其最接近的ASCII等效(slug创建)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆