我需要使用这个正则表达式进行网址验证。它在 regex101.com 中有效,但在我的 Angular 字段中验证失败。我不知道如何以 Angular 接受的方式修改它。
正则表达式:
https:\/\/[A-Za-z0-9_.~\/?%#!$&*+,;\[\]\(\)-]+
网址:https://something.test.net/a-bc/x_y.json?ab=2021-08-11T
我在表单中使用 Validators.pattern() 进行字段验证。
我用反斜杠转义了斜杠,如上所示,但它仍然无法验证。
在 Angular 中,使用 Validators.pattern() 方法进行表单字段验证时,不需要在正则表达式中使用反斜杠转义斜杠。
在上面的代码中,我删除了正则表达式模式中正斜杠之前的反斜杠。它应该可以与 Angular 的 Validators.pattern() 方法一起正常工作。
这是正则表达式模式的更正版本,没有不必要的反斜杠:
Validators.pattern('https://[A-Za-z0-9_.~/?%#!$&*+,;\\[\\]()-]+')