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

JavaScript粘贴事件如何检测粘贴内容是否来自Word文档

JavaScript 检测粘贴内容是否来自Word的实现方案

JavaScript 没有提供原生的event.source属性直接判断粘贴内容的来源,但我们可以通过识别剪贴板内容中的Word专属特征,实现你需要的逻辑:

实现原理

从Word文档中复制内容时,系统剪贴板存储的HTML格式数据会自动携带Office专属的命名空间、文档类型标识、mso-开头的自定义样式前缀等独有特征,匹配这些特征即可判断粘贴内容是否来自Word。

可直接使用的代码示例

example.addEventListener('paste', function (event) {
  // 获取剪贴板数据对象
  const clipboardData = event.clipboardData || window.clipboardData;
  // 读取剪贴板中的HTML格式内容
  const pasteHtml = clipboardData.getData('text/html');
  // 匹配Word专属特征
  const isFromWord = /(Word\.Document|urn:schemas-microsoft-com:office|class="?Mso|mso-[a-z]+)/i.test(pasteHtml);

  if (isFromWord) {
    // 此处编写粘贴内容来自Word时要执行的逻辑
    console.log('检测到内容来自Word文档');
  }
});

注意事项

  • 上述正则已经覆盖了绝大多数桌面端Windows、Mac版Word的粘贴场景,也支持大部分网页版Word的识别
  • 如果需要降低误判率,可以只保留最精准的匹配规则,比如仅匹配meta name=ProgId content=Word\.Document这个Word专属的文档类型标识
  • 两类场景会出现识别失效:一是用户仅复制了Word中的纯文本内容,剪贴板未携带HTML格式数据;二是部分第三方工具生成的HTML刻意模拟了Word的标识,会出现误判,可根据业务场景调整正则的严格度适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:15:01