PHP简单域正则表达式

时间:2016-09-22 19:24:21

标签: php regex

我试图弄清楚为什么域名(example1.commerce)与以下正则表达式不匹配:

if (!preg_match('([a-z\d]){1,63}(\.)([a-z\d]){2,16}',$_POST['domain']))
{
 echo '<p>Error: domain is not valid.</p>';
}
else {echo '<p>Domain looks good.</p>';}

模式应该只匹配域(1~63个字符)和域后缀(2~16个字符);没有子域名,大写等等。

所有在线正则表达式测试人员似乎都在工作

1 个答案:

答案 0 :(得分:2)

'([a-z\d]){1,63}(\.)([a-z\d]){2,16}'

应该是

'/([a-z\d]){1,63}(\.)([a-z\d]){2,16}/i'

大多数在线正则表达式测试人员都会为您添加此内容。