Pregunta

En un par de campos en mi aplicación de Windows Forms, estoy pidiendo un usuario a suministrar ya sea una dirección IP o un nombre de host. ¿Hay una buena expresión regular (regex) para validar el valor introducido? ¿O hay otro método que debería tener en cuenta? Tenga en cuenta que preferiría que el usuario entra en un FQDN o una dirección IP.

¿Fue útil?

Solución

En aras de un futuro a prueba su aplicación, me gustaría sugerir simplemente usando IPAddress.TryParse() para determinar si la entrada es una dirección IP.

Comprobación de un nombre de host 'válida' es más difícil, también porque no se especificó si el nombre de host tiene que existir o no. Si lo hace, la forma más fácil sería utilizar Dns.GetHostEntry() para ver si así se obtiene un resultado. No se puede obtener la validación mucho más precisa en base a la descripción que dio.

Otros consejos

¿Por qué se necesita para pedir la dirección IP y el nombre de host para una aplicación de Windows Forms? Si estos son los detalles locales de PC, se puede conseguir éstos de: -

1) Para obtener el nombre de host, puede llamar a Dns.GetHostName () (ver MSDN referencia )

2) para obtener la dirección IP, puede enumerar la dirección IP a través de Dns.GetHostByName () (véase MSDN referencia )

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top