Проверьте введенный пользователем IP-адрес или имя хоста через C # - PullRequest
1 голос
/ 17 июня 2010

В нескольких полях приложения Windows Forms я прошу пользователя указать либо IP-адрес, либо имя хоста.Есть ли хорошее регулярное выражение (регулярное выражение) для проверки введенного значения?Или есть другой метод, который я должен рассмотреть?Обратите внимание, что я бы предпочел, чтобы пользователь вводил FQDN или IP-адрес.

Ответы [ 3 ]

2 голосов
/ 17 июня 2010

В целях защиты вашего приложения на будущее, я бы предложил просто использовать IPAddress.TryParse(), чтобы определить, является ли ввод IP-адресом.

Проверка «правильного» имени хоста также более трудна.потому что вы не указали, должно ли имя хоста существовать или нет.Если это произойдет, самый простой способ будет использовать Dns.GetHostEntry(), чтобы увидеть, дает ли это результат.Вы не можете получить гораздо более точную валидацию на основе описания, которое вы дали.

1 голос
/ 17 июня 2010

попробуйте вызвать IPAddress.TryParse , если не удается, попробуйте Dns.GetHostByName

1 голос
/ 17 июня 2010

Зачем вам нужно запрашивать IP-адрес и имя хоста для приложения Windows Form?Если это данные локального ПК, вы можете получить их по адресу: -

1) Чтобы получить имя хоста, вы можете позвонить Dns.GetHostName () (см. MSDN reference )

2) Чтобы получить IP-адрес, вы можете перечислить IP-адрес с помощью Dns.GetHostByName () (см. Ссылка MSDN )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...