Delphi本身就有判断字符串是否日期的函数: function TryStrToDate(const S: string; out Value: TDateTime): Boolean; function TryStrToTime(const S: string; out Value: TDateTime): Boolean; function TryStrToDateTime(const S: string; out Value: TDateTime): Boolean;同理,也有判断字符串是否为整数、实数等的函数,自己研究吧!怎么样,解决了吧?!
function checkdatatime(inputstring:string):string; var temp:Tdatetime; begin result:=''; try temp:=strtodatetime(inputstring); except result:='这不是有效的日期类型'; end; end; //正确返回空字符窜
同意楼上的!!!! function iddate(str:string):boolean; begin try strtodate(str); result:=true; except result:=false; end; end;
function isdate(maskedit: string):Boolean; var i:integer; begin for i:=1 to 10 do if (i<>5) and (i<>8) then begin if not(maskedit[i] in ['0'..'9']) then begin delete(maskedit,i,1); insert('0',maskedit,i); end; end; Result :=IsValidDate(StrToint(MidStr(maskedit,1,4)),StrToint(MidStr(maskedit,6,2)),StrToint(MidStr(maskedit,9,2))); end;
try
StrToDate
是日期
except
不是日期
end;
function TryStrToDate(const S: string; out Value: TDateTime): Boolean;
function TryStrToTime(const S: string; out Value: TDateTime): Boolean;
function TryStrToDateTime(const S: string; out Value: TDateTime): Boolean;同理,也有判断字符串是否为整数、实数等的函数,自己研究吧!怎么样,解决了吧?!
var
temp:Tdatetime;
begin
result:='';
try
temp:=strtodatetime(inputstring);
except
result:='这不是有效的日期类型';
end;
end;
//正确返回空字符窜
function iddate(str:string):boolean;
begin
try
strtodate(str);
result:=true;
except
result:=false;
end;
end;
var
i:integer;
begin
for i:=1 to 10 do
if (i<>5) and (i<>8) then
begin
if not(maskedit[i] in ['0'..'9']) then
begin
delete(maskedit,i,1);
insert('0',maskedit,i);
end;
end;
Result :=IsValidDate(StrToint(MidStr(maskedit,1,4)),StrToint(MidStr(maskedit,6,2)),StrToint(MidStr(maskedit,9,2)));
end;