将重音文本转换为ASCII字符
Convert accented text into ASCII characters?
我想把重音字母和各种编码转换成Javascript中的普通英语ASCII编码,想知道有什么可能的选择。我需要的是:
éclair ~becomes~ eclair
bär ~becomes~ bar
привет ~becomes~ privet
こんにちは ~becomes~ konnichiva
正如您所看到的,其思想是任何语言都被转换成简单的英语ASCII等效。áčçéñtèd字母被转换成它们的普通对等体,西里尔字母或日文编码的字母被转换成它们的音译对等体。
谁知道在Javascript中做到这一点的方法?
有许多Node模块做类似的事情,但比Node -iconv要轻得多,特别是,它们在所有JS中都存在,不需要编译任何C或c++:
-
node- unidcode似乎做了大部分你要求的:
$ npm install unidecode ... unidecode@0.1.3 node_modules/unidecode $ node > var unidecode = require('unidecode'); undefined > unidecode('éclair') 'eclair' > unidecode('bär') 'bar' > unidecode('привет') 'priviet' > unidecode('こんにちは') 'konnitiha'
-
node-transliterator更轻量,但表现得比你要求的还要好:
$ npm install transliterator ... transliterator@0.1.0 node_modules/transliterator $ node > var transliterator = require('transliterator'); undefined > transliterator('éclair') 'eclair' > transliterator('bär') 'baer' > transliterator('привет') '' > transliterator('こんにちは') ''
-
node-urlify与您要求的稍微接近,但也更远:
$ npm install urlify ... urlify@0.3.5 node_modules/urlify $ node > var urlify = require('urlify').create({ spaces: ' ' }); undefined > urlify('éclair') 'eclair' > urlify('bär') 'bar' > urlify('привет') 'privet' > urlify('こんにちは') '_____'
-
最后,max是更重量级的,当我做
npm install limax
时,它打印了很多C编译器警告,但它仍然只是工作,是最接近你所要求的:$ npm install limax ... limax@0.0.2 node_modules/limax ├── speakingurl@0.9.1 ├── pinyin2@2.0.8 ├── hepburn@0.5.2 (bulk-replace@0.0.1) └── cld@0.0.6 $ node > var slug = require('limax') undefined > slug('éclair') 'eclair' > slug('bär') 'baer' > slug('привет') 'privet' > slug('こんにちは') 'konnichiha'
结帐节点-图标。
作者在此。你可以试试音译模块。它可以在浏览器和node.js中运行,没有依赖
相关文章:
- 修改 JavaScript 以使用 ASCII 字符或图像而不是文本
- 使用正则表达式测试字符串中的特定ASCII字符
- 如何将字符串中的ascii字符转换为jquery中的字符
- 使用Jquery仅切换按钮文本中的ASCII字符
- V8是否自动解析字符串中的ascii字符
- 从nodejs-crypto返回的字符串中修剪非ascii字符
- 将ASCII字符替换为等效字符
- 将ascii字符发送到mailto而不达到URL限制的最有效方法
- JavaScript 字符串中的转义控制和非 ASCII 字符(高位)
- 匹配除少数字符之外的 ASCII 字符
- 使字典中的键等于所有 ASCII 字符
- 使用 Javascript/Windows 批处理文件混合将非 ASCII 字符编码为 HTML
- 使用 Javascript REGEX 阻止特定范围的 ASCII 字符
- HTML 标签以 ASCII 字符显示
- Django表单中的非ASCII字符发出警告
- 如何将一组ascii字符转换为字符串
- Regex测试是否只有ASCII字符
- 如何在java脚本中对非ascii字符进行编码
- 编码URI(空格等)而不编码非ASCII字符
- 将2个ASCII字符与javascript进行比较