You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需带Unicode标志正则验证emoji 兼容IE的emoji检测方案

兼容IE的Emoji输入校验方案

IE浏览器不支持ES2018引入的Unicode属性转义语法,也不识别正则表达式的u标志,因此你之前用到的\p{Extended_Pictographic}写法无法在IE环境下运行。可以通过枚举所有Emoji对应的Unicode编码区间,写无特殊标志的普通正则实现兼容:

emojiValidation: function (userInput) {
  // 覆盖绝大部分常用Emoji的Unicode范围
  var emojiReg = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|\u25aa|\u25ab|\u25b6|\u25c0|\u25fb-\u25fe|\u2600-\u26FF|\u2702|\u2705|\u2708-\u270D|\u270F|\u2712|\u2714|\u2716|\u271D|\u2721|\u2728|\u2733-\u2734|\u2744|\u2747|\u274C|\u274E|\u2753-\u2755|\u2757|\u2763-\u2764|\u2795-\u2797|\u27A1|\u27B0|\u27BF|\u2934-\u2935|\u2B05-\u2B07|\u2B1B-\u2B1C|\u2B50|\u2B55|\u3030|\u303D|\u3297|\u3299|\uFE0F|\u200D|\ud83c[\udc04-\udccf]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff])/g;
  return emojiReg.test(userInput);
}

方案说明

  • 上述正则已经覆盖了普通表情、带肤色修饰的表情、旗帜类组合表情等绝大多数常用Emoji,足够满足常规业务校验需求
  • 不需要依赖任何第三方库,也没有用到IE不支持的语法,可直接在你的asp.net项目的JS文件中替换原有逻辑使用
  • 保持了原函数的返回逻辑:检测到输入内容包含Emoji时返回true,否则返回false,不需要调整原有调用逻辑

内容的提问来源于stack exchange,提问作者Cesar Sanchez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:00:02