65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 Ajax 和 ASP 进行用户名可用性检查

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.89/5 (5投票s)

2007年4月12日

CPOL

1分钟阅读

viewsIcon

39058

downloadIcon

259

如今,每个人都希望提高网站的性能,就像你在谷歌上看到的那样,例如密码强度。当我们输入密码字段中的任何字符时,密码强度会立即被检查,例如弱、强等。因此,我为用户名可用性添加了相同的功能。

Screenshot - screenshot1.gif

引言

如今,每个人都希望提高网站的性能,就像你在谷歌上看到的那样,例如密码强度。当我们输入密码字段中的任何字符时,密码强度会立即被检查,例如弱、强等。因此,我为用户名可用性添加了相同的功能。

背景

(可选) 是否有任何关于本文的背景信息可能有用,例如对所介绍的基本思想的介绍?

使用代码

如今,每个人都希望提高网站的性能,就像你在谷歌上看到的那样,例如密码强度。当我们输入密码字段中的任何字符时,密码强度会立即被检查,例如弱、强等。因此,我为用户名可用性添加了相同的功能。

代码块应设置为“Formatted”样式,如下所示

<script language="javascript">
function put(param)
{
  document.form1.username.value=""
  document.form1.username.value=param
  document.getElementById("Available").innerHTML = "";
}

function OnChangedUsername()
{
  if(document.form1.username.value == "")
  {
    document.form1.btnCheckAvailability.disabled = true;
    document.getElementById("Available").innerHTML =""
  }
  else
  {
    document.form1.btnCheckAvailability.disabled = false;
  }
}

function OnCheckAvailability()
{
  if(window.XMLHttpRequest)
  {
    oRequest = new XMLHttpRequest();
  }
  else if(window.ActiveXObject)
  {
    oRequest = new ActiveXObject("Microsoft.XMLHTTP");
  }
  oRequest.open("POST", "available.asp", true);
  oRequest.onreadystatechange = UpdateCheckAvailability;
  oRequest.setRequestHeader("Content-Type", "application/x-www-  form-urlencoded");
  oRequest.send("strCmd=availability&strUsername=" +  document.form1.username.value);
}

function UpdateCheckAvailability()
{
  if(oRequest.readyState == 4)
  { 
    if(oRequest.status == 200)
    {
      document.getElementById("Available").innerHTML =    oRequest.responseText;
    }
    else
    {
      document.getElementById("Available").innerHTML = "Asychronous Error";
    } 
  }
}

function validate(form1)
{
//****************************************************
if (form1.username.value.length<1)
  {
   alert("Please enter username!");
   form1.username.focus();
   form1.username.select();
   return(false);
  }
else if ((form1.username.value.indexOf("*")!=-1)||
       (form1.username.value.indexOf("!")!=-1)||(form1.username.value.indexOf("@")!=-1)||
       (form1.username.value.indexOf("$")!=-1)||(form1.username.value.indexOf("%")!=-1)||
       (form1.username.value.indexOf(&quot;^")!=-1)||
       (form1.username.value.indexOf("#")!=-1)||(form1.username.value.indexOf("=")!=-1)||
       (form1.username.value.indexOf("-")!=-1)||(form1.username.value.indexOf("[")!=-1)||
       (form1.username.value.indexOf("]")!=-1)||(form1.username.value.indexOf("{")!=-1)||
       (form1.username.value.indexOf("}")!=-1)||(form1.username.value.indexOf("+")!=-1)||
       (form1.username.value.indexOf("~")!=-1)||(form1.username.value.indexOf("?")!=-1)||
       (form1.username.value.indexOf("|")!=-1)||(form1.username.value.indexOf(">")!=-1)||
       (form1.username.value.indexOf("<")!=-1)||(form1.username.value.indexOf(" ")!=-1))
         { 
          alert("Special characters and spaces are not allowed" );
          form1.username.focus();
          form1.username.select();
          return(false);
  }
else if (form1.username.value.length>30)
  {
   alert("Username must be less than thirty characters!")
   form1.username.focus();
   form1.username.select();
   return(false);
  }
}
</script>

请记得使用语言下拉菜单设置代码片段的语言。

使用“var”按钮将变量或类名包裹在标签中,例如this

关注点

在编写代码的过程中,你学到了什么有趣/好玩/令人恼火的东西吗? 你做了什么特别巧妙、疯狂或异想天开的事情吗?

历史

在此处保持您所做的任何更改或改进的实时更新。

© . All rights reserved.