php
function isDomain($input) {
// 匹配域名的正则表达式
$pattern = ‘/^(?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6}$/’;
return preg_match($pattern, $input);
}
// 示例用法
if (isDomain(‘example.com’)) {
echo ‘输入的内容是域名’;
} else {
echo ‘输入的内容不是域名’;
}
该函数使用了正则表达式 `/^(?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6}$/` 来匹配域名。该正则表达式的含义是:
– `^` 表示匹配字符串的开头
– `(?:[-A-Za-z0-9]+\.)+` 表示匹配一个或多个由字母、数字、横线和点号组成的子域名,每个子域名以点号结尾。使用 `(?:…)` 表示不捕获该分组。
– `[A-Za-z]{2,6}` 表示匹配顶级域名,由两到六个字母组成。
– `$` 表示匹配字符串的结尾。
该正则表达式可以匹配形如 `example.com`、`www.example.com`、`subdomain.example.co.uk` 等合法的域名。