delphi 验证 字符串 是否是 ipv6
你可以使用正则表达式来验证字符串是否是有效的 IPv6 地址。以下是一个示例代码,展示如何在 Delphi 中使用正则表达式来验证IPv6 地址: uses System.SysUtils, System.RegularExpressions; function IsIPv6(const IPAddress: string): Boolean; const IPv6Pattern = '^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|' + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + ':((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|' + '::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3,3}' + '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|([0-9a-fA-F]{1,4}:){1,4}:' + '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3,3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$'; begin Result := TRegEx.IsMatch(IPAddress, IPv6Pattern); end; procedure TestIPv6; var TestIP: string; begin TestIP := '2408:8226:b413:7c50:7ca:a4f6:7a03:344'; if IsIPv6(TestIP) then Writeln(TestIP + ' 是有效的 IPv6 地址') else Writeln(TestIP + ' 不是有效的 IPv6 地址'); end; begin try TestIPv6; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.067281007766724 seconds