国家代码标记表情符号

2025-06-07

国家代码标记表情符号

与其显示无聊的国家代码(例如 US、CH、NL),不如显示国旗表情符号 🇺🇸 🇨🇭 和 🇳🇱 更美观,对吧?用 JavaScript 实现起来并不难。

function getFlagEmoji(countryCode) {
  const codePoints = countryCode
    .toUpperCase()
    .split('')
    .map(char =>  127397 + char.charCodeAt());
  return String.fromCodePoint(...codePoints);
}
Enter fullscreen mode Exit fullscreen mode

国旗表情符号是两个 unicode 区域字符的组合,位于127462字母 A 的 unicode 位置。对于 CH(瑞士),我们希望索引为127464127469

了解这个小函数中发生的事情;

  • 首先,将国家代码输入大写,以确保我们获得正确的字符位置。
  • 拆分成一个数组,并迭代每个字符。
  • 我们可以使用 来获取字符的 UTF-16 代码索引charCodeAt。UTF-16 A 位于65,我们从区域 A 字符索引 中减去了该值127462,这解释了硬编码127397值 ( 127462 - 65)。为了获取正确的旗帜表情符号索引,我们只需将接收到的索引添加到偏移量即可。
  • 最后,该String.fromCodePoint函数将返回计算索引的表情符号字符。
getFlagEmoji('US') = 🇺🇸
getFlagEmoji('NL') = 🇳🇱
getFlagEmoji('CH') = 🇨🇭
Enter fullscreen mode Exit fullscreen mode

无需额外资源即可立即标记!

文章来源:https://dev.to/jorik/country-code-to-flag-emoji-a21
PREV
我做过的最糟糕的职业决定
NEXT
来自面试初级前端工程师的人的提示 来自面试初级前端开发人员的人的提示