【发布时间】:2014-07-06 13:42:10
【问题描述】:
对于域名注册,我想添加一些验证,以防万一有人想发疯,输入一些奇怪的域名。
这就是我现在拥有的:
preg_match('/[^a-zA-Z0-9]/', $domain)
我还想添加“-”,但它不能是第一个或最后一个字符。 $domain 必须至少为 2 个或更多字符。并且不能以“-”开头或结尾。
RegEx Gurus:知道如何使这变得简单吗? 谢谢!
【问题讨论】:
-
请记住,有些网址有下划线和其他您没有包含在上面的正则表达式中的字符
-
老实说,您的正则表达式匹配应该比上面的要复杂一点...为了保持简单但更彻底,尝试匹配字符串 http 或 https,然后有效域名字符(在 www 和 .com 或 .whatever 之间),然后是 (\.com$|\.edu$) (等等)至少
-
我只需要域名部分的正则表达式。我已经解决了 WWW 部分,以及 .com/.net/.org/ 等等......只需要名称本身的正则表达式。像 http(s)://www。 ONLY-NEED-REGEX-FOR-THIS-PART .com