TMS WEB Core中如何用Delphi实现正则表达式?遇单元缺失问题求解
在TMS WEB Core中实现Delphi正则表达式功能的解决方案
TMS WEB Core基于WebAssembly运行,不支持VCL/FMX环境的System.RegularExpressions单元,你可以通过以下两种方案解决:
方案一:使用TMS WEB Core内置的Web.Regex单元
TMS为WEB环境适配了专门的正则处理单元,API和原生Delphi的TRegEx高度一致,迁移成本极低:
- 替换引用单元:将
uses System.RegularExpressions;改为uses Web.Regex; - 保留原有逻辑即可运行:
uses Web.Regex; ... 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;
方案二:直接调用JavaScript原生正则API
TMS WEB Core允许直接调用浏览器的JavaScript API,利用原生正则引擎实现校验,性能更贴近Web原生场景:
function ValidateEmail(Email: string): Boolean; var JsRegex: TJSRegExp; begin JsRegex := TJSRegExp.New('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'); Result := JsRegex.test(Email); end;
注:TJSRegExp属于默认引用的Web单元,无需额外添加引用。
内容的提问来源于stack exchange,提问作者Shaun Roselt
相关产品推荐
相关产品推荐

