Question

Dans quelques domaines dans mon application Windows Forms, je demande à un utilisateur de fournir soit une adresse IP ou un nom d'hôte. Y at-il une bonne expression régulière (regex) pour valider la valeur saisie? Ou est-il une autre méthode que je devrais considérer? S'il vous plaît noter que je préférerais que l'utilisateur entre un ou FQDN une adresse IP.

Était-ce utile?

La solution

Dans l'intérêt de l'avenir épreuvage votre application, je vous suggère de simplement utiliser IPAddress.TryParse() pour déterminer si l'entrée est une adresse IP.

Vérification d'un nom d'hôte « valide » est plus difficile, aussi parce que vous ne précise pas si le nom d'hôte doit exister ou non. Dans le cas contraire, la meilleure façon serait d'utiliser Dns.GetHostEntry() pour voir si cela donne un résultat. Vous ne pouvez pas obtenir la validation beaucoup plus précis en fonction de la description que vous avez donné.

Autres conseils

Pourquoi auriez-vous besoin de demander l'adresse IP et le nom d'hôte pour une application Windows Form? Si ce sont les détails locaux de PC, vous pouvez obtenir ces de: -

1) Pour obtenir le nom d'hôte, vous pouvez appeler Dns.GetHostName () (voir référence MSDN )

2) Pour obtenir l'adresse IP, vous pouvez énumérer l'adresse IP via Dns.GetHostByName () (voir référence MSDN )

essayez d'appeler IPAddress.TryParse , si elle ne parvient pas essayer de Dns.GetHostByName

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top