我认为呢,你是专门为公司写的网站,所以在网上找的别人的系统是不能很好的嵌入到里面去的.所以我建议你自己写一个.
域名查询系统重在接口,有了查询接口,什么都能自己完成.当然接口也不是很好找的,有很多收费的,收费的速度快,限制少.
一般网上朋友都用万网接口,我感觉还行,有的朋友说不好.
还有这个:www.checkdomain.com,也提供域名查询接口.
比如万网的接口,很方便,直接用file_get_contents()提交查询,再用正则找出<pre>之间的内容.根据Domain Status的值判断是否被注册了.如果没有注册整个<pre>之间的内容就是:no matching record.当然如果域名本身不合法也会出现这个,所以先做好域名是否合法的判断.我写了个很简单的提取<pre>内容的,可以参考一下.每个人的方法都不一样,有好也有坏,慢慢研究吧.
<?php
$domain = 'chinanet.cn'
$cha = 'http://whois.hichina.com/cgi-bin/whois?domain='.$domain.'&GO=GO'
$fp = file_get_contents($cha,'rb')
$fp = preg_replace('|\n|','<br>',$fp)
$arr = array()
preg_match("|<pre>.*<\/pre>|",$fp,$arr)
echo($arr[0])
?>
/^[A-Za-z0-9_\u4E00-\u9FA5]{1,20}([\.\-][A-Za-z0-9_\u4E00-\u9FA5]{1,20})*$/试试这样吧,你用的php程序哟?自己写几个超出的和符合的验证一下就知道了。+表示“1个或者多个”,改成{1,20}就可以了
补充:=============================================
你的意思是有
www.我是中文域名123im.com这种混合形式而如果其中不出现中文的那段就可以超过20的么?那可以改一改:
/^(?:[\w_]+|[A-Za-z0-9_\u4E00-\u9FA5]{1,20})([\.\-][A-Za-z0-9_\u4E00-\u9FA5]{1,20}|[\w_]+)*$/
没试过,你可以用你那边样本域名测试下看
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)