asp.net实现中英文多域名检测的方法
程序员文章站
2023-12-06 11:11:16
本文实例讲述了asp.net实现中英文多域名检测的方法。分享给大家供大家参考,具体如下:
第一步:在前台页面中写入js代码和相关控件
/****写入js代码**...
本文实例讲述了asp.net实现中英文多域名检测的方法。分享给大家供大家参考,具体如下:
第一步:在前台页面中写入js代码和相关控件
/****写入js代码****/ <%-- 域名检测 --%> <script type="text/javascript"> //判断输入的是否为中文域名 function ischdomain(domainstr) { var flag = false; var compstr = "abcdefghigklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz-_0123456789"; var domainlength = domainstr.length;//判断字符长度 for(var i = 0;i < domainlength;i++) { var temp = domainstr.charcodeat(i); if(temp >= 10000)//含有字符编码大于10000的字符判断为中文,不太严格 { flag=true; } else { var temp2 = compstr.indexof(domainstr.charat(i)); if(temp2 == -1) { flag = false; break; } } } return flag; } //判断输入的是否为英文域名 function isendomain(domainstr) { var flag = false; var compstr = "abcdefghigklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz-_0123456789"; var domainlength = domainstr.length; for(var i = 0;i<domainlength;i++) { if(compstr.indexof(domainstr.charat(i)) == -1) { flag = false; break; } else { flag = true; } } return flag; } //中国等不能注册英文域名,把相应的checkbox的disabled属性设置为true, function trim(domainstr) { return domainstr.replace(/(^s*)|(s*$)/g, ""); } //验证域名是哪一类型的 function checkdomaintype() { var domainname = document.getelementbyid("txtdomainname").value; domainname = trim(domainname);//去掉输入的特殊符号 if(ischdomain(domainname))//调用中文域名----------验证方法 { setcheckbox(true); } else if(isendomain(domainname))//调用英文域名-----验证方法 { setcheckbox(false); } } //为checkbox复选框的checked属性赋值 function setcheckbox(flag) { document.getelementbyid("chkcom").disabled = flag; document.getelementbyid("chknet").disabled = flag; document.getelementbyid("chkorg").disabled = flag; document.getelementbyid("chkorgcn").disabled = flag; document.getelementbyid("chkcn").disabled = flag; document.getelementbyid("chkcomcn").disabled = flag; document.getelementbyid("chknetcn").disabled = flag; document.getelementbyid("chkgovcn").disabled = flag; document.getelementbyid("chkcouk").disabled = flag; document.getelementbyid("chkbiz").disabled = flag; document.getelementbyid("chkcc").disabled = flag; document.getelementbyid("chktv").disabled = flag; document.getelementbyid("chkinfo").disabled = flag; document.getelementbyid("chkchina").disabled = !flag; document.getelementbyid("chkcompany").disabled = !flag; document.getelementbyid("chknetwork").disabled = !flag; document.getelementbyid("chkorguk").disabled = flag; document.getelementbyid("chkus").disabled = flag; document.getelementbyid("chkmeuk").disabled = flag; document.getelementbyid("chkltduk").disabled = flag; } //检查输入的字符规范 // function checkvalue() // { // if(document.getelementbyid("txtdomainname").value=='') // { // alert('请输入域名!'); // return false; // } // if(document.getelementbyid("txtdomainname").value.length >= 60) // { // alert('域名长度不能超过60个字符!'); // return false; // } // for(var i = 0;i < document.getelementbyid("txtdomainname").value.length;i++) // { // if(document.getelementbyid("txtdomainname").value.charat(i) == ' ') // { // alert('域名中不能含有空格!'); // return false; // break; // } // } // } </script> /***写入相关控件***/ //用于显示查询的结果 <asp:panel id="indexpnldomainname" runat="server" width="100%" /> // <table width="373" border="0" cellpadding="0" cellspacing="1"> <tr> <td width="74" height="41"> <asp:checkbox id="chkcom" text=".com" runat="server" /> </td> <td width="71" height="41"> <asp:checkbox id="chkcn" text=".cn" runat="server" /> </td> <td width="79" height="41"> <asp:checkbox id="chkorg" text=".org" runat="server" /> </td> <td width="71" height="41"> <asp:checkbox id="chknet" text=".net" runat="server" /> </td> <td width="72" height="41"> <asp:checkbox id="chkinfo" text=".info" runat="server" /> </td> </tr> <tr> <td width="74" height="41"> <asp:checkbox id="chkcomcn" text=".com.cn" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkcc" text=".cc" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkorgcn" text=".org.cn" runat="server" /> </td> <td height="41"> <asp:checkbox id="chknetcn" text=".net.cn" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkin" text=".in" runat="server" /> </td> </tr> <tr> <td width="74" height="40"> <asp:checkbox id="chkcouk" text=".co.uk" runat="server" /> </td> <td height="41"> <asp:checkbox id="chktv" text=".tv" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkorguk" text=".org.uk" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkus" text=".us" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkmeuk" text=".me.uk" runat="server" /> </td> </tr> <tr> <td width="74" height="41"> <asp:checkbox id="chkltduk" text=".ltd.uk" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkbiz" text=".biz" runat="server" /> </td> <td height="41"> <asp:checkbox id="chknetwork" text=".网络" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkcompany" text=".公司" runat="server" /> </td> <td height="41"> <asp:checkbox id="chkchina" text=".中国" runat="server" /> </td> </tr> </table>
第二步:在后台页面中写入方法
using system; using system.collections; using system.configuration; using system.data; using system.linq; using system.web; using system.web.security; using system.web.ui; using system.web.ui.htmlcontrols; using system.web.ui.webcontrols; using system.web.ui.webcontrols.webparts; using system.xml.linq; using system.text; //(需要引入的类文件命名空间) using system.net.sockets; //(需要引入的类文件命名空间) using system.text.regularexpressions; //(需要引入的类文件命名空间) using system.collections.generic; //(需要引入的类文件命名空间) using system.data.common; //(需要引入的类文件命名空间) using system.xml; //(需要引入的类文件命名空间) using system.io; //(需要引入的类文件命名空间) using microsoft.sqlserver.server; //(需要引入的类文件命名空间) using system.net; //(需要引入的类文件命名空间) //判断是否为中文域名(方法) public static bool ishaschzn(string domainname) { regex regchzn = new regex("[一-龥]"); match m = regchzn.match(domainname); return m.success; } //判断域名是否被注册(方法) public static bool isreg(string domainname) { bool flag = false; string dm = httpcontext.current.server.urlencode(domainname); try { //判断方法非常多,如打开远程文件再处理字符串等等,这里用的方法效率不是很高 webclient wc = new webclient(); string xmlstr = wc.downloadstring("http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=" + dm); stringreader sr = new stringreader(xmlstr); xmltextreader xr = new xmltextreader(sr); while (xr.read()) { if (xr.isstartelement("original")) { xr.read(); if (xr.value.substring(0, 3) == "210") { flag = true; break; } else { flag = false; break; } } } return flag; } catch { return false; } } //按钮事件中 protected void imgbtncheck_click(object sender, imageclickeventargs e) { string txtym = this.txtymname.text.trim(); if (txtym == "") { scriptmanager.registerstartupscript(this, this.gettype(), "sc", "alert('对不起,域名不能为空!');", true); } else { string domainname = this.txtymname.text.trim(); ilist<string> domainlist = new list<string>();//保存域名名称和后缀 domainlist.add(domainname);//list<string>第一元素保存域名名称,其他元素为域名后缀 //判断是否为中文域名 if (ishaschzn(domainname)) { if (chkchina.checked) domainlist.add(chkchina.text); if (chkcompany.checked) domainlist.add(chkcompany.text); if (chknetwork.checked) domainlist.add(chknetwork.text); } else { if (chkcom.checked) domainlist.add(chkcom.text); if (chknet.checked) domainlist.add(chknet.text); if (chkorg.checked) domainlist.add(chkorg.text); if (chkorgcn.checked) domainlist.add(chkorgcn.text); if (chkcn.checked) domainlist.add(chkcn.text); if (chkcomcn.checked) domainlist.add(chkcomcn.text); if (chknetcn.checked) domainlist.add(chknetcn.text); if (chkinfo.checked) domainlist.add(chkinfo.text); if (chkcouk.checked) domainlist.add(chkcouk.text); if (chkbiz.checked) domainlist.add(chkbiz.text); if (chkcc.checked) domainlist.add(chkcc.text); if (chktv.checked) domainlist.add(chktv.text); if (chkorguk.checked) domainlist.add(chkorguk.text); if (chkus.checked) domainlist.add(chkus.text); if (chkmeuk.checked) domainlist.add(chkmeuk.text); if (chkltduk.checked) domainlist.add(chkltduk.text); if (chkin.checked) domainlist.add(chkin.text); } session["localpnldomainname"] = domainlist; //将首页查询的域名结果显示出来 if (session["localpnldomainname"] != null) { ilist<string> il = (ilist<string>)session["localpnldomainname"]; if (il.count > 1) { string dm = il[0]; string dname; label lbl; for (int i = 1; i < il.count; i++) { dname = dm + il[i]; if (isreg(dname)) { lbl = new label(); lbl.id = "lbl" + i.tostring(); lbl.text = string.format("<p style='font-size:12px;color:green'>{0} 可以注册!</p>", dm + il[i]); indexpnldomainname.controls.add(lbl); } else { lbl = new label(); lbl.id = "lbl" + i.tostring(); lbl.text = string.format("<p><a target='_blank' style='color:red;font-size:12px' title='点击跳转到该域名' href='http://www.{0}'>{1} 已被注册!</a> <a target='_blank' style='font-size:12px;color:red' title='点击查看详细信息' href='http://whois.hichina.com/cgi-bin/whois?domain={2}'>[查看]</a></p>", dm + il[i], dm + il[i], server.urlencode(dm + il[i])); indexpnldomainname.controls.add(lbl); } } } } } }
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net字符串操作技巧汇总》、《asp.net操作json技巧总结》、《asp.net操作xml技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。
上一篇: js倒计时代码