{-------------------------------------------------------------------------------
作者: 曾聪
日期: 2013.12.27
过程名: GetSubStrCount
功能: 获得子字符串在父字符串中出现的次数
参数: sSubStr, sParentStr: string
返回值: integer
说明:
-------------------------------------------------------------------------------}
function GetSubStrCount(sSubStr, sParentStr: string): integer;
begin
Result := 0;
while Pos(UpperCase(sSubStr), UpperCase(sParentStr)) <> 0 do
begin
sParentStr := Copy(sParentStr, Pos(sSubStr, sParentStr) + 1, Length(sParentStr)); //假设s2最大长度为9999个字符
Result := Result + 1;
end;
end;
{-------------------------------------------------------------------------------
作者: 曾聪
日期: 2013.12.27
过程名: IsLegalIP
功能: 检查IP地址是否合法
参数: IP: String
返回值: Boolean
说明: True为合法,False为非法
-------------------------------------------------------------------------------}
function IsLegalIP(sIP: string): Boolean;
begin
if (GetSubStrCount('.', sIP) = 3) and (Longword(inet_addr(PAnsiChar(AnsiString(sIP)))) <> INADDR_NONE) then
Result := True
else
Result := False;
end;
12-11