问答 / 0 / 2 / 创建于 4年前
做了一个 站点域名绑定工具需要校验输入数据,要求如下:兼容IPV4\IPV6\域名
使用PHP自带的过滤函数:
filter_var($var, FILTER_VALIDATE_URL) || filter_var($var, FILTER_VALIDATE_IP)
@xiaogui filter_var($var, FILTER_VALIDATE_URL) 好像只支持 https://www.baidu.com/ 这种完整的URL
filter_var($var, FILTER_VALIDATE_URL)
https://www.baidu.com/
@xiaogui 可以用 FILTER_VALIDATE_DOMAIN,完整如下:
FILTER_VALIDATE_DOMAIN
filter_var($var, FILTER_VALIDATE_DOMAIN) || filter_var($var, FILTER_VALIDATE_IP)
@xiaogui 好像是…官方文档写的是“Validates whether the domain name label lengths are valid.”,可能是我理解错了。有两个解决办法:
preg_match('/^(?:[-A-Za-z0-9]+\.)+[A-Za-z]{2,6}$/', $var) || filter_var($var, FILTER_VALIDATE_IP)
gethostbyname
filter_var(gethostbyname($var), FILTER_VALIDATE_IP) || filter_var($var, FILTER_VALIDATE_IP)
我要举报该,理由是:
使用PHP自带的过滤函数: