gpt4 book ai didi

javascript - 使用 AngularJS 和 ng-pattern 时出现 Lexer 错误

转载 作者:行者123 更新时间:2023-12-03 05:58:22 25 4
gpt4 key购买 nike

我在运行时收到以下错误:

Error: [$parse:lexerr] Lexer Error: Unexpected next character  at columns 11-11 [\] in expression [[0-9]{1,4}(\.[0-9]{1,3})?].

我的 HTML 看起来像这样

<input type="text"
class="form-control"
name="amount"
ng-pattern="{{ctrl.pattern}}"
ng-model="ctrl.amount">

我的 AngularJS Controller 中的分配如下:

ctrl.pattern = '[0-9]{1,4}(\\.[0-9]{1,3})?';

据我了解,AngularJS 在正则表达式的开头和结尾附加了 ^ 和 $,效果很好。问题在于表达式中间的正则表达式文字未被接受。我希望点被接受为文字而不是任何字符,所以我需要一种方法来转义它,但词法分析器不喜欢它。有办法解决这个问题吗?

最佳答案

此问题已报告 here但他们不会修复它,因为根据他们的说法,这是一个不常见的用例。

<小时/>

这样做:

ctrl.pattern = /^[0-9]{1,4}([.][0-9]{1,3})?$/;

这样,正则表达式将被评估为正则表达式对象,而不是 RegExp 的字符串参数,在这种情况下,我们需要添加 ^,$

关于javascript - 使用 AngularJS 和 ng-pattern 时出现 Lexer 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39837875/

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