React中如何从Cookies获取国家ISO码并查询对应国际电话前缀
实现方案
直接维护一份2位国家ISO码对应国际电话前缀的映射表,通过你已经拿到的ISO码直接匹配取值即可,实现简单且性能最优:
import Cookies from 'js-cookie'; // 按需补充你业务需要覆盖的国家映射关系即可 const isoToCallingCode = { 'us': '+1', 'ca': '+1', 'fr': '+33', 'cn': '+86', 'gb': '+44', 'jp': '+81', 'de': '+49' }; const userIso = Cookies.get('CK_ISO_CODE')?.toLowerCase(); const callingCode = userIso ? isoToCallingCode[userIso] : ''; console.log(callingCode); // 传入'us'返回'+1',传入'fr'返回'+33'
注意点
- 部分国家共用同一个电话前缀(比如美国、加拿大都为+1),直接按你的业务需求配置映射表即可
- 匹配前统一把ISO码转成小写/大写,避免大小写不一致导致匹配失败
- 如果覆盖国家较多,可以把映射表抽成单独的JSON文件按需引入,避免占用主包体积
内容的提问来源于stack exchange,提问作者Jean Pierre
相关产品推荐
相关产品推荐

