Skip to main content
 首页 » 编程设计

c#之使用正则表达式在 C# 中验证 FQDN

2024年02月03日31zengkefu

我在 C# 中编写了以下模式来验证从用户收到的 FQDN:

(`?=^.{1,254}$)(^(?:(?!\d+\.)[a-zA-Z0-9_\-]{1,63}\.?)+(?:[0-9a-zA-Z]{1,})$) 

我想允许用户输入以下 FQDN:

<name>.<letter><digit> 

例如“aa.a1”。对于“aa.a1”,我的正则表达式将 FQDN 检测为无效,对于“aa.1a”,它检测为有效。有谁知道为什么吗?

请您参考如下方法:

不使用正则表达式,您可以将字符串加载到 Uri 中并使用不同的方法和属性来确定它是否是 FQDN。

Uri uri = new Undri(myFQDN); 
string host = uri.Host; 
bool isAbsolute = uri.IsAbsoluteUri;