已经有了一串字符串,如何判断该字符串中是否包含非法字符?
如:该字符串是一串十六进制数据组成,所以其单个字符取值范围是0~F,如何判断整个字符串是否包含有其他字符?

解决方案 »

  1.   

    最笨的办法,扫一遍,看看有没大于ord('F')的字符,前提是不许字母小写;
      

  2.   


    function IsDataValid(sData: String): Boolean;
    var
      i: Integer;
    begin
      Result := True;
      for i := 1 to Length(sData) do
      begin
        if not (sData[i] in ['0'..'9', 'a'..'f', 'A'..'F']) then
        begin
          Result := False;
          break;
        end;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      if IsDataValid('123AbCx') then
        ShowMessage('Valid')
      else
        ShowMessage('Invalid');
    end;