'XRegExp' 未使用 ie11 定义

'XRegExp' is undefined using ie11

我正在使用 XRegExp 检查 unicode 正则表达式。它在我测试过的任何浏览器中都没有问题,IE11 除外。

在我的脚本中,我将要检查的正则表达式定义为:

var unicodeWord = XRegExp("^[\p{L}']...+$");

在 ie11 中出现以下错误:

SCRIPT5009: 'Symbol' is undefined
xregexp.all.js (1730,11)
SCRIPT5009: 'XregExp' is undefined
jquery-3.3.1.slim.min.js (2,31232)

如何在ie11中解决这个问题?我已经检查过,ie11 在兼容模式下不是 运行。我也阅读了有关 xregexp.com 的文档,但我看不到任何解决此问题的方法。

我会很感激一些指导来找到解决方案,如果可能的话,我会解释为什么 ie11 会这样。

关于Symbol的错误是因为最新版本的XRegExp使用了IE11中没有定义的Symbol。关于此问题已提出 issue。您的选择是:

  1. 恢复到不使用 Symbol.

  2. 的旧版本 XRegExp
  3. 在加载 XRegExp 之前为 Symbol 安装一个 polyfill,以便出现 Symbol

  4. 等待使用 polyfill 编译的较新版本的 XRegExp。修复 has been merged 但我还没有看到包含此​​修复的版本。

关于 XregExp 的错误对我来说只是一个错字。名称是 XRegExp,而不是 XregExp