推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
ashita

使用 Javscript/Node 获取字符串的拼音首字母

  •  
  •   ashita · Jun 3, 2019 · 3444 views
    This topic created in 2612 days ago, the information mentioned may be changed or developed.

    获取拼音首拼是非常常见的需求,举个例子: 微信的通讯录,手机的通讯录,各种联系人列表。

    image.png

    要做到这一点很容易,比如说引用一个拼音库来读出拼音的首拼。但是往往这些拼音库都是非常完整的体积非常大的库。

    如果你只是想要完成以上的一个小功能。pyfl将会非常适合你。pyfl 的全称是pinyin first letters拼音全拼的意思。

    pyfl是基于pinyinjs写的一个专门获取汉字首拼的库。已经经过作者的同意才开源使用的。

    pyfl 的用法非常简单如下, 在支持import语法的前端项目中:

    import pyfl from 'pyfl';
    pyfl('喵'); // M
    pyfl('好笑吗跟傻子一样整天就知道哈哈哈哈哈哈哈')); // HXMGSZYYZTJZDHHHHHHH
    pyfl('罤夶繙着洗'); // TBFZX
    pyfl('Pure'); // Pure
    pyfl('Made by ❤'); // Made by ❤
    pyfl('أشتون'); // أشتون
    

    如果你想直接在 node 中里面使用的话:

    const pyfl = require('pyfl').default;
    pyfl('喵'); // M
    pyfl('好笑吗跟傻子一样整天就知道哈哈哈哈哈哈哈')); // HXMGSZYYZTJZDHHHHHHH
    pyfl('罤夶繙着洗'); // TBFZX
    pyfl('Pure'); // Pure
    pyfl('Made by ❤'); // Made by ❤
    pyfl('أشتون'); // أشتون
    

    pyfl会把支持的汉字转换成大写的拼音输出出来。如果是英文或者奇怪的文字的话会原样输出出来。

    如果这个库对你有帮助的话,希望你能在 github 上给我一个 star ~

    4 replies    2019-07-30 11:03:13 +08:00
    jiejiss
        1
    jiejiss  
       Jun 4, 2019
    不要在 util 库里输出,该抛异常抛异常。来个 console.error,我 log 乱了怪谁去……
    而且我这看着咋觉得你的 catch 没用呢,try 里的代码真的能出 exception 吗……
    以及,好像不支持多音字,感觉有点太轻量了
    ashita
        2
    ashita  
    OP
       Jun 4, 2019
    @jiejiss 阿.. 其实是这样的这个库是很久之前写的了,只是用 ts 重构了一下。
    关于 Log 那部分移掉了, 感谢提醒,本来是自己用的一个库,没特意去做类型检查。
    就随便 catch 了一下。刚才在补上类型转换,检查之类的东东。
    的确不支持多音字,这个我的确没注意到,我想想办法把它加上。
    刚刚测了一下,如果是多音字有些的确挺奇怪的 ..

    感谢你的意见 对我帮助很大 !!
    shawndev
        3
    shawndev  
       Jun 4, 2019
    拼音首字母是不是就不应该输出非拼音字符了
    flowfire
        4
    flowfire  
       Jul 30, 2019
    遇到多音字的话会怎么处理
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1023 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 582ms · UTC 18:52 · PVG 02:52 · LAX 11:52 · JFK 14:52
    ♥ Do have faith in what you're doing.