![]() |
1
43
确保每个段
它也避免了双重否定(
|
![]() |
2
4
这里有一个更严格的版本 Tim Pietzcker's answer 有以下改进:
|
![]() |
3
3
每 The Old New Thing ,dns名称的最大长度为253个字符。(一个最多允许255个八位字节,但其中2个是由编码消耗的。)
人们可以根据自己的目的,争论是否接受空域名。 |
![]() |
4
1
我喜欢tim pietzcker完整的回答,但是为了可读性,我更喜欢从正则表达式中卸载一些逻辑。老实说,我得查一下
这是另一张照片,它更长,但读起来有点像散文。我想“可读的”和“简洁的”有点矛盾。我相信到目前为止线程中提到的所有验证约束都包括在内:
|
![]() |
5
1
感谢@timpietzcker的回答。 下划线是有效的主机名,双破折号对于idn punycode是常见的。应删除端口号。这是代码的清理。
|
![]() |
6
0
|
![]() |
7
0
此纯正则表达式应满足所有参数:
|
![]() |
8
-1
通过排除无效字符并确保非零长度,分别处理每个dns标签。
|
![]() |
9
-4
如果要验证现有主机的名称,最好的方法是尝试解析它。您永远不会编写正则表达式来提供该级别的验证。 |
![]() |
George Alexander · 类似电报的用户名的Regex 1 年前 |
![]() |
Aliaksei · 保存前进行WebFlux检查 3 年前 |
![]() |
Nimet · 如何在regex密码模式中转义* 3 年前 |
![]() |
Jee · PowerShell输入验证-输入不应为所有数字 6 年前 |
![]() |
James · Django使用RangeWidget验证表单 6 年前 |