验证域名PHP

时间:2013-08-20 09:56:58

标签: php regex

我需要使用PHP验证域名 只允许使用此格式:google.comsubdomain.stack-overflow.org等 它应该只允许 - (如果是特殊字符)

不应允许其他格式:http, https,?,/index.php,www.等,不允许这些格式。

我也不想允许:localhost,mydomain.com

我尝试过:FILTER_VALIDATE_URL但它接受http等。 我也试过这样的正则表达式:[a-z0-9-]+(.[a-z0-9-]+)

但它允许ex:stackoverflow(没有.org)。

请帮忙。

感谢。

1 个答案:

答案 0 :(得分:1)

你的正则表达几乎是正确的。只有.是“任何角色”的缩写,而不仅仅是“。”。所以,试试这个正则表达式:

/([0-9a-z-]+\.)?[0-9a-z-]+\.[a-z]{2,7}/

请记住,引入了新的顶级域名。他们不使用拉丁字符。看看http://many.at/idntlds/

关于排除“mydomain.com”:在应用正则表达式后,您必须检查这一点。