我需要验证域
有效方案是
*.domain.com
(OR)domain.com
(OR)domain.domain.com
无效:
.domain.com
(或)*domain.com
它不应在字符串开头加反斜杠
我尝试使用此表达式,但失败了。
^(?:\*\.)(http[s]?:\/\/){0,1}(www\.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1}
答案 0 :(得分:0)
在 regex101.com 上,您可以搜索库。即使没有合适的口味 ECMA-Script / JavaScript ,我也在 PCRE 中找到了一个:Domain with protocol, Third-Level-Domain, Second-Level-Domain, Top-Level-Domain and Port.,并根据您的需要进行了分叉:
^((\w+)\:\/\/)?(([\w\-]+|\*)\.)*([\w\-]+)\.(\w+)(\:(\d+))?$
更新:previous regex (v2)仅搜索零件,因此也匹配了无效示例,因为零件是有效的。通过添加 begin
^
和 end$
对其进行了修复。现在,正则表达式会拒绝无效的(*domain.com
或.domain.com
)。