Skip to main content

Tedshd's Dev note

Category: Emoji

JavaScript 計算 emoji

# 在 Web 中的 emoji 處理 在普遍的字串計算長度的部分 一個字元是單位是一 但是因為 emoji 的 unicode 是比較後面定義的 這超出了原有 JavaScript 原有定義的範圍 可以參照網站的介紹 Unicode – The World Standard for Text and Emoji 所以 emoji 的字串長度在 JavaScript 一率都是從 2 起跳 這在 Web 中會造成有需要處理字串長度的地方就會出現問題 例如: input 文字的長度限制的使用 <input type="text" maxlength="10"> 字串需要計算長度時 string.length; 尤其是在現在行動裝置的普及, 內建的鍵盤已經有 emoji 的輸入可以使用 更會大大的增加在需要的邏輯處理會出現問題 # 如何解決 有一個方便的套件 runes 會把 emoji 識別出來 所以就可以解決掉 emoji 的問題了 # 背後原理 其實背後的原理也不難 就是去比對 emoji 的 unicode 碼 比對該字串是不是 emoji 的 unicode 碼 ...