【发布时间】:2019-02-21 19:22:36
【问题描述】:
我需要验证域
有效的场景是
*.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}
【问题讨论】:
-
我们生活在一个有over 1500 top-level domains,其中一些是not even in ASCII的时代。你的
\.[a-zA-Z]{2,5}现在不会再删了。 -
你应该看看 backrefs 来简化什么工作。 regular-expressions.info/backref.html 和 regex101.com 玩弄直到你破解它。如果您在这里重新发明轮子,我不会感到惊讶!
-
用this怎么样?
-
应该正则表达式只匹配 域名 (FQDN) 包括通配符 还是匹配 URLs(即 FQDN 加上协议/方案和端口)?也许您还可以描述验证的上下文(应用程序、用例、目的)。
标签: javascript regex domain-name fqdn