【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> 建议不要用循环判断,可以直接用数组是否包含存在的方式 Dexlux 发表于 2021-3-25 15:45
可以的大佬 我也是初学者 我又改进了一下 不知道对不对
我觉得没找到账户的flag也可以为1 后面判断跳出w ...
厉害!!! 感谢分享楼主 学习下思路哈哈 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> 可以加一个登录界面,局域网共享ipad打开一直显示密码错误 本帖最后由 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;
}
} Dexlux 发表于 2021-3-22 13:32
我还是小白 正在学前端 马上毕业找工作
这...工作可能还要再深入学习一下 可以把function里面换成ajax提交搞一下,提交链接随便写,熟悉ajax格式 谢谢楼主 学习了,感谢分享 嗯嗯,入门学习一下可以。但是实际不会把密码写在代码里,不然别人查看源码就知道了 大前端 这个六!比我的layui好多了{:1_893:} 原谅我把重点放在了排版上,这个排版真的看得有点难受。建议可以把代码编辑一下。 js哪怕写个轮播也好呀。。 实际不会这样操作的 本帖最后由 Dexlux 于 2021-3-19 13:47 编辑
ytw6176 发表于 2021-3-19 09:57
js哪怕写个轮播也好呀。。 实际不会这样操作的
就是练习了一下 还是小白{:1_936:} Luckyu920 发表于 2021-3-18 23:43
嗯嗯,入门学习一下可以。但是实际不会把密码写在代码里,不然别人查看源码就知道了
{:1_936:} 是哒,还正在学习呢 lx886 发表于 2021-3-19 00:04
这个六!比我的layui好多了
老凡尔赛了大兄弟{:1_911:}