Dexlux 发表于 2021-3-18 23:37

【JS练习】简易登录系统

本帖最后由 Dexlux 于 2021-3-25 13:50 编辑

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
      var userList = [
            {
                name: '张三',
                pwd: '123456'
            },
            {
                name: '李四',
                pwd: '654321'
            }
      ]
      function errorpwd() {
            var np = prompt('请重新输入密码');
            if (np === cp) {
                alert('登陆成功');
                flag = 1;
            } else {
                errorpwd();
            }
      }
      while (true) {
            var n = prompt('请输入账号');
            for (var i = 0; i < userList.length; i++) {
                if (n === userList.name) {
                  var num = i;
                  var p = prompt('请输入密码');
                  if (p === userList.pwd) {
                        alert('登陆成功');
                        var flag = 1;
                        break;
                  } else {
                        alert('密码错误');
                        cp = userList.pwd;
                        errorpwd();
                        break;
                  }
                }
            }
            if (flag === 1) {
                break;
            }
      }
    </script>
</head>
<body>
</body>
</html>

underway1024 发表于 2021-3-25 16:38

建议不要用循环判断,可以直接用数组是否包含存在的方式

jialiangzai 发表于 2021-4-6 16:39

Dexlux 发表于 2021-3-25 15:45
可以的大佬 我也是初学者 我又改进了一下 不知道对不对
我觉得没找到账户的flag也可以为1 后面判断跳出w ...

厉害!!!

枫轻舞 发表于 2021-3-26 00:35

感谢分享楼主 学习下思路哈哈

Dexlux 发表于 2021-3-25 15:45

rain-xuan 发表于 2021-3-25 14:16
你可以看下我后加的代码

可以的大佬 我也是初学者 我又改进了一下 不知道对不对
我觉得没找到账户的flag也可以为1 后面判断跳出while(true)循环就不用判断-1那个了 就能少写代码了

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
    var userList = [
      {
      name: '张三',
      pwd: '123456'
      },
      {
      name: '李四',
      pwd: '654321'
      },
      {
      name: '王五',
      pwd: '110110'
      },
      {
      name: '赵六',
      pwd: '999888666'
      }

    ]

    function errorpwd() {
      var np = prompt('请重新输入密码');
      if (np === cp) {
      alert('登陆成功');
      flag = 1;
      } else {
      errorpwd();
      }
    }

    var i = 0;
    var flag = 0;
    var n = prompt('请输入账号');
    while (true) {
      while (i < userList.length) {
      if (n === userList.name) {
          break;
      }
      i += 1;
      }
      if (i >= userList.length) {
      alert("未找到用户");
      flag = 1;
      break;
      }
      else {
      var num = i;
      var p = prompt('请输入密码');
      if (p === userList.pwd) {
          alert('登陆成功');
          var flag = 1;
          break;
      } else {
          alert('密码错误');
          cp = userList.pwd;
          errorpwd();
          break;
      }
      }
      if (flag === 1) {
      break;
      }
    }
</script>
</head>

<body>

</body>

</html>

一尘不染 发表于 2021-3-25 17:57

可以加一个登录界面,局域网共享ipad打开一直显示密码错误

rain-xuan 发表于 2021-3-25 13:15

本帖最后由 rain-xuan 于 2021-3-25 14:03 编辑

你好,这个代码逻辑好像只能遍历userList的第一个吧,后面的用户哭了。
我没学过Js,我根据我的理解改了一下,不知可对。
var userList = [
            {
                name: '张三',
                pwd: '123456'
            },
            {
                name: '李四',
                pwd:'654321'
            },
            {
                    name: '王五',
                    pwd:'110110'
            },
            {
                    name: '赵六',
                    pwd:'999888666'
            }

      ]

      function errorpwd() {
            var np = prompt('请重新输入密码');
            if (np === cp) {
                alert('登陆成功');
                flag = 1;
            } else {
                errorpwd();
            }
      }

      var i=0;
      var flag = 0;
      var n = prompt('请输入账号');
      while (true) {
              while(i<userList.length)
              {
                      if(n===userList.name)
                      {
                              break;
                      }
                      i+=1;
              }
              if(i>=userList.length)
              {
                      alert("未找到用户");
                      flag = -1;
                      break;
              }
              else
              {
                      var num = i;
                  var p = prompt('请输入密码');
                  if (p === userList.pwd) {
                        alert('登陆成功');
                        var flag = 1;
                        break;
                  } else {
                        alert('密码错误');
                        cp = userList.pwd;
                        errorpwd();
                        break;
                  }
              }



            /*for (var i = 0; i < userList.length; i++) {
                if (n === userList.name || n==userList.name) {
                  var num = i;
                  var p = prompt('请输入密码');
                  if (p === userList.pwd) {
                        alert('登陆成功');
                        var flag = 1;
                        break;
                  } else {
                        alert('密码错误');
                        cp = userList.pwd;
                        errorpwd();
                        break;
                  }
                } else {
                  alert('账户名错误');
                  break;
                }
            }*/
            
            if (flag === 1) {
                break;
            }
            if(flag===-1)
            {
                    break;
            }
      }

逸帅 发表于 2021-3-22 19:51

Dexlux 发表于 2021-3-22 13:32
我还是小白 正在学前端 马上毕业找工作

这...工作可能还要再深入学习一下

lelexiaotian 发表于 2021-3-22 16:41

可以把function里面换成ajax提交搞一下,提交链接随便写,熟悉ajax格式

TSW1024 发表于 2021-3-21 17:19

谢谢楼主

tek2y 发表于 2021-3-19 08:04

学习了,感谢分享

Luckyu920 发表于 2021-3-18 23:43

嗯嗯,入门学习一下可以。但是实际不会把密码写在代码里,不然别人查看源码就知道了

PpaPingggg 发表于 2021-3-19 00:02

大前端

lx886 发表于 2021-3-19 00:04

这个六!比我的layui好多了{:1_893:}

大侠在路上 发表于 2021-3-19 00:13

原谅我把重点放在了排版上,这个排版真的看得有点难受。建议可以把代码编辑一下。

ytw6176 发表于 2021-3-19 09:57

js哪怕写个轮播也好呀。。 实际不会这样操作的

Dexlux 发表于 2021-3-19 13:43

本帖最后由 Dexlux 于 2021-3-19 13:47 编辑

ytw6176 发表于 2021-3-19 09:57
js哪怕写个轮播也好呀。。 实际不会这样操作的
就是练习了一下 还是小白{:1_936:}

Dexlux 发表于 2021-3-19 13:44

Luckyu920 发表于 2021-3-18 23:43
嗯嗯,入门学习一下可以。但是实际不会把密码写在代码里,不然别人查看源码就知道了

{:1_936:} 是哒,还正在学习呢

Dexlux 发表于 2021-3-19 13:45

lx886 发表于 2021-3-19 00:04
这个六!比我的layui好多了

老凡尔赛了大兄弟{:1_911:}
页: [1] 2 3 4
查看完整版本: 【JS练习】简易登录系统