YYYY-MM-DD的正则表达式

procedure TForm1.Edit1Exit(Sender: TObject);
var
  theDate:string;
  reg : TperlRegex;
begin
  theDate := Edit1.Text;
  reg := TPerlRegEx.Create(self);
  reg.Subject := theDate;
  reg.RegEx := '^((((19|20)\d{2})-(0?[13-9]|1[012])-(0?[1-9]|[12]\d|30))|(((19|20)\d{2})-(0?[13578]|1[02])-31)|(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29))$';
  if reg.Match then Edit1.Text := theDate else Edit1.Text := '';
end;

------

DoubleCat

你可能感兴趣的:(yyyy-mm-dd)