如何用正则表达式匹配域名?

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` 等合法的域名。

0
封面图
没有账号? 注册  忘记密码?
";s:2:"js";s:114:"