[英]php preg_match validate domain
我要验证域。表达式只能采用格式。
anywordwithoutspace.any
这是我的代码
<?php
function validatereg($str1) {
//validate domain
if(preg_match('/^([a-z0-9])*(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i', $str1) {
//valid domain
}
else {
//not a valid domain
}
}
?>
我不确定它是否正确。 另外请注意,句号(为“ any”)之后可以是最多4个字母的任何字母。
提前致谢。
最好将filter_var与FILTER_VALIDATE_URL结合使用:
if (filter_var('http://example.com', FILTER_VALIDATE_URL)) {
echo "Domain is valid\n";
}
if (preg_match("!"#$%&\'()*+,-./@:;<=>[\\]^_`{|}~", $myString))
{
//valid url
}
这应该做...
<?php
function is_valid_domain_name($domain_name)
{
return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name) //valid chars check
&& preg_match("/^.{1,253}$/", $domain_name) //overall length check
&& preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name) ); //length of each label
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.