zoukankan      html  css  js  c++  java
  • ts 限制输入框只能输入一个 emoji 表情

    我们知道 emoji 的长度不定,可以是两个字符,还可以是多个字符。它是用 unicode 编码的。所以我们不能直接利用长度来截取字符串中第一个 emoji。

    比较方便的方法是借助 lodash 库的 toArray 函数。

    它里面每个 emoji 就是长度为 1。

    安装

    npm i lodash.toarray
    

    代码

    import toArray = require("lodash.toarray");
    
    const getFirstEmoji = (value: string) : string => {
      if (!value) {
        return "";
      }
      let strarr = toArray(value);
      return strarr.slice(0, 1)[0];
    }
    

    输入框的 input 回调上里调用这个函数即可。

    这样返回的是第一个字符或者第一个 emoji。我的需求就是这样的。但如果你想排除普通字符,那么需要对字符串具体值进行判断是否在表情包的 unicode 范围内,网上的大部分范围都不全,或许可以看看lodash源码。


    ┆凉┆暖┆降┆等┆幸┆我┆我┆里┆将┆ ┆可┆有┆谦┆戮┆那┆ ┆大┆始┆ ┆然┆
    ┆薄┆一┆临┆你┆的┆还┆没┆ ┆来┆ ┆是┆来┆逊┆没┆些┆ ┆雁┆终┆ ┆而┆
    ┆ ┆暖┆ ┆如┆地┆站┆有┆ ┆也┆ ┆我┆ ┆的┆有┆精┆ ┆也┆没┆ ┆你┆
    ┆ ┆这┆ ┆试┆方┆在┆逃┆ ┆会┆ ┆在┆ ┆清┆来┆准┆ ┆没┆有┆ ┆没┆
    ┆ ┆生┆ ┆探┆ ┆最┆避┆ ┆在┆ ┆这┆ ┆晨┆ ┆的┆ ┆有┆来┆ ┆有┆
    ┆ ┆之┆ ┆般┆ ┆不┆ ┆ ┆这┆ ┆里┆ ┆没┆ ┆杀┆ ┆来┆ ┆ ┆来┆
  • 相关阅读:
    June. 26th 2018, Week 26th. Tuesday
    June. 25th 2018, Week 26th. Monday
    June. 24th 2018, Week 26th. Sunday
    June. 23rd 2018, Week 25th. Saturday
    June. 22 2018, Week 25th. Friday
    June. 21 2018, Week 25th. Thursday
    June. 20 2018, Week 25th. Wednesday
    【2018.10.11 C与C++基础】C Preprocessor的功能及缺陷(草稿)
    June.19 2018, Week 25th Tuesday
    June 18. 2018, Week 25th. Monday
  • 原文地址:https://www.cnblogs.com/flipped/p/15640465.html
Copyright © 2011-2022 走看看