微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery:检查用户名可用性

如何解决jQuery:检查用户名可用性

| 我在Web应用程序上注册时使用jQuery检查用户名是否可用。由于某种原因,而不是将用户数据保留在数据库中,我将注册用户的ID和密码存储一个平面文件account.txt中。格式如下: 乔:frt25t5546g约翰:sdfsdgg 更新资料 多亏了这里的人的帮助,我终于有了一个线索,我遵循了http://roshanbh.com.np/2008/04/check-username-available-ajax-PHP-jquery.html上的方法。 这是我的registration.html的一部分
$(document).ready(function()
{
  $(\"#uname\").blur(function(){
  $.post(\"usernameCheck.PHP\",{user_name:$(this).val()},function(data)
  {
  if(data==\"no\"){
  $(this).html(\"This username already exists\");
  }
  else{
  $(this).html(\"Username is available!\");
  }
  });
  });
}

<body>
<form name=\"form\" method=\"post\" action=\"\" />
<table>
<tr><td>Username: </td>  
<td><input type=\"text\" name=\"uname\" id=\"uname\" /></td></tr>
</table>
<input type=\"submit\" name=\"submit\" value=\"Register\" />
</form>
</body>
我对jQuery很陌生,对ajax有点...谢谢!     

解决方法

不要在客户端执行此操作。您的密码,即使是加密的,也绝对不能离开服务器。创建一个服务器端脚本,该脚本将接受用户名并返回布尔值,然后通过AJAX进行调用。 另外,要回答您的直接问题,请查找JavaScript方法
String.split
String.match
。     ,建议不要使用此代码,但举例来说,您可以这样做
$(function(){
    $parsed={};
    $.ajax({
        url: \'userpass.txt\',complete: function(data,textStatus,jqXHR) {
            // get all the data and separate it by rows
            $.each(data.responseText.split(\"\\n\"),function(i,v){
                // split the rows by colon sign
                $parsed[v.split(\":\")[0]] = v.split(\":\")[1];
            });
        }
    });
    // when the user is typing the username
    $(\'input#username\').keyup(function(){
        v = $(this).val();
        // check if the username exists
        if ($parsed[v]) {
            alert(\"user exists\");
        }
    });
});
    ,工作示例:http://jsfiddle.net/peeter/RszUy/ 我希望这个例子可以说明实际执行此操作有多不安全。 HTML:
<form id=\"secureForm\">
    <input type=\"text\" id=\"username\"/>
    <input type=\"password\" id=\"password\"/>
    <input type=\"submit\" id=\"submit\" value=\"Submit\"/>
    <div id=\"results\"></div>
</form>
CSS:
#results {
    margin-top: 10px;
} 
Javascript:
$(document).ready(function() {
    $(\"#username\").keyup(function(e) {
        totallySecureWayToCheckIfUserExists();
    });
});
function totallySecureWayToCheckIfUserExists() {
     $.post(\"/echo/html/\",{
        html: \"joe:frt25t5546g\\njohn:sdfsdgg\\nthis:isstupid\"
    },function(data) {
        var users = data.split(\"\\n\");
        $(\"#results\").html(\"\");
        $.each(users,function(index,row) {
            var username = row.split(\":\")[0];
            var password = row.split(\":\")[1];
            if(username == $(\"#username\").val()) {
                $(\"#results\").html(\"\").append(\"<p>\"+\"Result found! Username \'\" + username +\"\' with the password \'\"+password+\"\' exists,you cannot use this username sorry!</p>\");
                return false;
            }
            else {
                $(\"#results\").append(\"<p>\"+\"Doesn\'t match the username: \" + username +\" (password=\"+password+\")</p>\");
            }
        });
    });   
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。