gpt4 book ai didi

javascript - Internet Explorer 中的 Typescript Validators Pattern RegEx 意外量词错误,但适用于 Google Chrome

转载 作者:搜寻专家 更新时间:2023-10-30 21:32:41 24 4
gpt4 key购买 nike

以下代码片段导致 Internet Explorer 抛出意外量词错误,但 Chrome 运行正常

sicmessage: new FormControl('', [
Validators.required, Validators.maxLength(300),
Validators.pattern(new RegExp(/(?=(?:^\w))([A-Za-z ]+)(?<=[^ ])$/))
]),

错误是:

SCRIPT5018: Unexpected quantifier

最佳答案

您的模式使用 lookbehind,直到 ES2018 才将其添加到 JavaScript。 IE11 没有也永远不会有这个功能。

如果您需要回顾,可以使用 XRegExp library由支持它们的 Steven Levithan 编写(并编译为 native 正则表达式)。他还有一个 article关于如何在不支持时模拟后视。


旁注:没有理由将正则表达式传递给 RegExp 构造函数(不再是¹)。 /.../ 语法创建一个正则表达式,因此只需删除 new RegExp()


¹ “anymore”——人们过去常常这样做是因为几个 JavaScript 引擎中的缓存错误,但这个问题在很多年以前就已经修复了。当表达式具有全局标志以重置 lastIndex 时,人们有时也会使用它,但在这种情况下只执行 x.lastIndex = 0 的工作要少得多.您的表达式不使用 g,因此这不适用于您。

关于javascript - Internet Explorer 中的 Typescript Validators Pattern RegEx 意外量词错误,但适用于 Google Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57006228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com