正则表达式可以工作,但不能以 Angular 形式

问题描述 投票:0回答:1

我需要使用这个正则表达式进行网址验证。它在 regex101.com 中有效,但在我的 Angular 字段中验证失败。我不知道如何以 Angular 接受的方式修改它。

正则表达式:

https:\/\/[A-Za-z0-9_.~\/?%#!$&*+,;\[\]\(\)-]+
网址:
https://something.test.net/a-bc/x_y.json?ab=2021-08-11T

我在表单中使用 Validators.pattern() 进行字段验证。

我用反斜杠转义了斜杠,如上所示,但它仍然无法验证。

javascript angular regex angular-reactive-forms
1个回答
0
投票

在 Angular 中,使用 Validators.pattern() 方法进行表单字段验证时,不需要在正则表达式中使用反斜杠转义斜杠。

在上面的代码中,我删除了正则表达式模式中正斜杠之前的反斜杠。它应该可以与 Angular 的 Validators.pattern() 方法一起正常工作。

这是正则表达式模式的更正版本,没有不必要的反斜杠:

Validators.pattern('https://[A-Za-z0-9_.~/?%#!$&*+,;\\[\\]()-]+')
© www.soinside.com 2019 - 2024. All rights reserved.