我尝试执行以下正则表达式函数:
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 执行正则表达式?
从 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;