Применение регулярных выражений для проверки (валидации) данных известно давно. Во времена среды разработки Delphi 7 не было встроенной библиотеки для работы с регулярными выражениями, поэтому подключали сторонние. Начиная с современной реализации Delphi от Embarcadero такая возможность появилась, если объявить в uses разделе  System.RegularExpressions. Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текстовых значений на основе паттерна в виде специальной символьной записи.

Давайте создадим простую функцию проверки строки на валидность, указываемого пользователем IP адреса.  Сначала определимся с паттерном.

^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

Объявим функцию в блоке public

public
 { Public declarations }
function validationIP(ipvalue : string) : boolean;

Теперь напишем и объявим функцию (в нашем случае в области TForm1):

function TForm1.validationIP(ipvalue: string): boolean;
var
  regIP: TRegEx;
  Match: TMatch;
begin
  if regIP.IsMatch(ipvalue,
    '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$')
  then
    Result := true
  else
    Result := false;
end;

Функция готова к вызову для проверки валидности IP адресов (IPv4). В моей практике я указывал для поля ввода текстовой информации TEdit на событие OnChange. Валидность визуально для пользователя описал на визуализацию картинки imgCheck в виде "галочки" рядом с полем ввода. 

procedure TForm1.eIPChange(Sender: TObject);
begin
if validationIP(eIP.Text)=true then
        imgCheck.Visible :=true else imgCheck.Visible :=false;
end;

или еще проще записать так:

imgCheck.Visible := validationIP(eIP.Text);

При некорректном значении ничего не показываем:

При корректном значении показать "галочку" 

Но обыграть валидность в интерфейсе формы можно по-разному, как сами понимаете.