求高手写php验证域名的正则表达式
域名规则:1、由字母或数字开头,由字母或数字结尾,由字母、数字和连接符号"-"组成的字符串.2、域名长度为2~46位3、接受的域名后缀有".com、.net、.org、....
域名规则:
1、由字母或数字开头,由字母或数字结尾,由字母、数字和连接符号"-"组成的字符串.
2、域名长度为2~46位
3、接受的域名后缀有" .com、.net、.org、.cn、.com.cn、.info、.mobi
4、网络名必须是www.
5、如果域名后缀是".cn",则域名中不能包含有"CHINA","CHINESE"字符 展开
1、由字母或数字开头,由字母或数字结尾,由字母、数字和连接符号"-"组成的字符串.
2、域名长度为2~46位
3、接受的域名后缀有" .com、.net、.org、.cn、.com.cn、.info、.mobi
4、网络名必须是www.
5、如果域名后缀是".cn",则域名中不能包含有"CHINA","CHINESE"字符 展开
2个回答
展开全部
<?php
$str = "http://www.12aa_china521.com";
$strlen = strlen($str);
if($strlen<2 || $strlen>46)
{
echo "域名长度为2-46";
exit;
}
$arr = explode(".",$str);
if(strtolower(end($arr))=="cn")
{
if(strpos($str,"china") || strpos($str,"chinese"))
{
echo "cn后缀的域名不允许含有china或者chinese";
exit;
}
}
$preg = "/^(?:http:\/\/)?www.[0-9a-zA-Z]+_?[0-9a-zA-Z]+.(?:com(?:.cn)?|net|org|info|mobi)$/";
if(preg_match($preg,$str))
{
echo "域名正确";
}else{
echo "域名不正确";
}
?>
$str = "http://www.12aa_china521.com";
$strlen = strlen($str);
if($strlen<2 || $strlen>46)
{
echo "域名长度为2-46";
exit;
}
$arr = explode(".",$str);
if(strtolower(end($arr))=="cn")
{
if(strpos($str,"china") || strpos($str,"chinese"))
{
echo "cn后缀的域名不允许含有china或者chinese";
exit;
}
}
$preg = "/^(?:http:\/\/)?www.[0-9a-zA-Z]+_?[0-9a-zA-Z]+.(?:com(?:.cn)?|net|org|info|mobi)$/";
if(preg_match($preg,$str))
{
echo "域名正确";
}else{
echo "域名不正确";
}
?>
展开全部
www\.([a-zA-Z0-9]\w{0,44}[a-zA-Z0-9]\.(com|com\.cn|net|org|info|mobi))|([a-zA-Z0-9]\w{0,44}[a-zA-Z0-9](?!CHINA|CHINESE)\.cn)
追问
高手顺便帮我吧这个手机号验证写出来下,急用!
(1)移动号码开头 :134~139、150
(2)移动号码开头 :130~132、152
(3)移动号码开头 :186、189
追答
(1)移动号码开头 :134~139、150
^1(3[49]|50)\d{8}+$
(2)移动号码开头 :130~132、152
^1(3[02]|50)\d{8}+$
(3)移动号码开头 :186、189
^18[69]\d{8}+$
评论说我明显不正确是指长度吧,我是理解成两点号中间的长度,要不怎么规定长度最小可以有2?
要是测总长度在2到64我就把第一个正则改了一下,
(?=.{2,46}$)www\.([a-zA-Z0-9]\w*?[a-zA-Z0-9]\.(com\.cn|com|net|org|info|mobi))|([a-zA-Z0-9]((?!CHINA|CHINESE)\w)+[a-zA-Z0-9]\.cn)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询