正则表达式在 TMS WEB Core 中如何工作?

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

我尝试执行以下正则表达式函数:

uses System.RegularExpressions;

...

function ValidateEmail(Email: string): Boolean;
begin
  const EmailPattern = '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$';
  Result := TRegEx.IsMatch(Email, EmailPattern);
end;

这适用于 VCL 和 FMX,但不适用于 TMS WEB Core。找不到

System.RegularExpressions
单位:

[错误]找不到单位“System.RegularExpressions”

如何在 TMS WEB Core 中使用 Delphi 执行正则表达式?

regex validation delphi tms-web-core delphi-12-athens
1个回答
0
投票

从 TMS WEB Core v1.3.0.0 开始,您可以像在 VCL/FMX 中一样在 TMS WEB Core 中使用正则表达式,但使用的是

WEBLib.RegularExpressions
单位而不是
System.RegularExpressions

所以我可以执行以下操作并且它有效:

uses WEBLib.RegularExpressions;

...

function ValidateEmail(Email: string): Boolean;
const
  EmailPattern = '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$';
begin
  Result := TRegEx.IsMatch(Email, EmailPattern);
end;

如果您使用的是旧版本的 TMS WEB Core,那么您还可以通过 Delphi 中的

ASM
代码块使用 JavaScript 执行正则表达式。

这是使用

ASM
代码块的示例:

function ValidateEmail(Email: string): Boolean;
const
  EmailPattern = '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$';
begin
  {$IFDEF PAS2JS}
    asm
      Result = (new RegExp(EmailPattern)).test(Email);
    end;
  {$ENDIF}
end;
© www.soinside.com 2019 - 2024. All rights reserved.