JS实现记住用户密码

有趣的小案例池子
JS实现定时器
JS实现关闭图片窗口
JS实现输入检验
获取焦点后隐藏提示内容的输入框
JS实现获取鼠标在画布中的位置
聊天信息框显示消息
JS点击切换背景图
自动切换背景的登录页面
JS制作跟随鼠标移动的图片
JS实现记住用户密码

概述

本文讲解如何使用JS实现我们常见的记住密码的功能。

效果展示

构建HTML框架

<body><input type="text" id="password"> <input type="checkbox" name="" id="remember"> 记住密码</body>

JS编写逻辑

<script>// 获取输入密码的元素var password = document.querySelector('#password');// 获取技术密码的选择框的元素var remember = document.querySelector('#remember');// 在本地的存储单元中存储密码 如果本地存储获取 password这个元素为真if (localStorage.getItem('password')) {// 那么把password的value设置为本地存储的passwordpassword.value = localStorage.getItem('password');// 然后设置已经记住密码了remember.checked = true;}// 给remember输入框添加事件remember.addEventListener('change', function() {// 如果已经记住密码了if (this.checked) {// 那么本地存储现在password中的值 把输入的password存放到本地存储中 localStorage.setItem('password', password.value)} else {// 如果没有记住密码 那么移除本地的password的存储情况localStorage.removeItem('password');}})</script>

完整代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><input type="text" id="password"> <input type="checkbox" name="" id="remember"> 记住密码<script>// 获取输入密码的元素var password = document.querySelector('#password');// 获取技术密码的选择框的元素var remember = document.querySelector('#remember');// 在本地的存储单元中存储密码 如果本地存储获取 password这个元素为真if (localStorage.getItem('password')) {// 那么把password的value设置为本地存储的passwordpassword.value = localStorage.getItem('password');// 然后设置已经记住密码了remember.checked = true;}// 给remember输入框添加事件remember.addEventListener('change', function() {// 如果已经记住密码了if (this.checked) {// 那么本地存储现在password中的值 把输入的password存放到本地存储中 localStorage.setItem('password', password.value)} else {// 如果没有记住密码 那么移除本地的password的存储情况localStorage.removeItem('password');}})</script>
</body>

滑动窗口

给定一个大小为 n≤106 的数组。

有一个大小为 k 的滑动窗口,它从数组的最左边移动到最右边。

你只能在窗口中看到 k 个数字。

每次滑动窗口向右移动一个位置。

以下是一个例子:

该数组为 [1 3 -1 -3 5 3 6 7],k 为 3。

窗口位置 最小值 最大值
[1 3 -1] -3 5 3 6 7 -1 3
1 [3 -1 -3] 5 3 6 7 -3 3
1 3 [-1 -3 5] 3 6 7 -3 5
1 3 -1 [-3 5 3] 6 7 -3 5
1 3 -1 -3 [5 3 6] 7 3 6
1 3 -1 -3 5 [3 6 7] 3 7
你的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。

输入格式
输入包含两行。

第一行包含两个整数 n 和 k,分别代表数组长度和滑动窗口的长度。

第二行有 n 个整数,代表数组的具体数值。

同行数据之间用空格隔开。

输出格式
输出包含两个。

第一行输出,从左至右,每个位置滑动窗口中的最小值。

第二行输出,从左至右,每个位置滑动窗口中的最大值。

输入样例:
8 3
1 3 -1 -3 5 3 6 7
输出样例:
-1 -3 -3 -3 3 3
3 3 5 5 6 7

提交代码

C++

#include<iostream>
using namespace std;const int N = 1000010;
int a[N], q[N], hh, tt = -1;int main()
{int n, k;cin >> n >> k;for (int i = 0; i < n; ++ i)    // 这个题要注意的是 q队列里面存放的是位置{scanf ("%d", &a[i]);        // 先求的是最小值if (i - k + 1 > q[hh]) ++hh;  // 如果最小值的位置已经滑出窗口了 然后就// ++ hh代表这个数已经没了while (hh <= tt && a[i] <= a[q[tt]]) -- tt; // 先确保队列里面有数字// 然后如果新来的数字要小于 队列里面的最小值// 那么--tt 就代表当前队列的最小值去掉q[++ tt] = i;  // 把新来的数字放到队列中if (i + 1 >= k) printf ("%d ", a[q[hh]]); // 当前队列的长度已经满足k了// 就可以把对首的元素输出出来}puts("");int hh = 0, tt = -1;for (int i = 0; i < n; ++ i){if (i - k + 1 > q[hh]) ++ hh;while (hh <= tt && a[i] >= a[q[tt]]) -- tt;q[++ tt] = i;if (i + 1 >= k) printf("%d ", a[q[hh]]);}return 0;
}

Java

import java.io.*;public class Main
{final static int N = 1000010;static int [] a = new int [N];static int [] q = new int [N];static int hh = 0, tt = -1;public static void main(String[] args) throws IOException{int n, k;BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));String [] str = reader.readLine().split(" ");n = Integer.parseInt(str[0]);k = Integer.parseInt(str[1]);str = reader.readLine().split(" ");for (int i = 0; i < n; ++ i) a[i] = Integer.parseInt(str[i]);// for (int i = 0; i < n; ++ i)// {//     if (hh <= tt && i - k + 1 > q[hh])  ++ hh;//     while (hh <= tt && a[i] <= a[q[hh]]) -- tt;//     q[++ tt] = i;//     if (i + 1 >= k) out.write(a[q[hh]]+" ");// }for(int i = 0; i < n; i ++){if(hh <= tt && i - q[hh] + 1 > k) hh++;//判断队头是否已经滑出窗口while(hh <= tt && a[q[tt]] >= a[i]) tt--;//出队q[++tt] = i;//入队if(i >= k - 1) out.write(a[q[hh]]+" ");}out.write("\n");hh = 0;tt = -1;// for (int i  = 0; i < n; ++ i)// {//     if (hh <= tt && i - k + 1 > q[hh]) ++ hh;//     while (hh <= tt && a[i] >= a[q[hh]]) -- tt;//     q[++ tt] = i;//     if (i + 1 >= k) out.write(a[q[hh]]+" ");// }for(int i = 0; i < n; i ++){if(hh <= tt && i - q[hh] + 1 > k) hh++;//判断队头是否已经滑出窗口while(hh <= tt && a[q[tt]] <= a[i]) tt--;//出队q[++tt] = i;//入队if(i >= k - 1) out.write(a[q[hh]]+" ");}out.flush();out.close();}
}

JS实现记住用户密码相关推荐

  1. mui 使用LocalStore记住用户密码方法

    mui框架开发的APP 的本地缓存里记录密码<!DOCTYPE html> <html><head><meta charset="utf-8&quo ...

  2. js实现记住账号密码——学习笔记

    实现的原理? 操作cookie,通过判断是否勾选了记住密码框,设置cookie内容,达到保存用户名和密码的效果. 什么时cookie? cookie有4kb大小,超出长度会返回空字符串: cookie ...

  3. SharedPreferences记住用户密码 态判断应用是否首次启动等

    一.Android SharedPreferences的简介 SharedPreferences是一种轻型的Android数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用 ...

  4. shiro扩展获得用户登录类型并提供cookie的方式记住用户密码

    在最近的项目中要实现一个需求:"同时让两种类型的用户进行登录,登录后如果用户勾选了记住密码就要生成cookie来记录用户的密码和用户名".本人做安全认证的时候一直在使用shiro, ...

  5. JS读取cookie(记住账号密码)

    很多登录功能上都有个"记住密码"的功能,其实无非就是对cookie的读取. 下面展示这个功能的代码,原作者已无法考究.... 测试方法:直接输入账号密码,提交后,刷新页面,再输入同 ...

  6. 账号密码代码php,JS代码怎样实现记住账号密码

    这次给大家带来JS代码怎样实现记住账号密码,JS代码实现记住账号密码的注意事项有哪些,下面就是实战案例,一起来看一下. 很多登录功能上都有个"记住密码"的功能,其实无非就是对coo ...

  7. 我应该如何道德地接近用户密码存储以便以后的明文检索?

    随着我继续构建越来越多的网站和Web应用程序,我经常被要求以一种方式存储用户的密码,如果/当用户遇到问题时可以检索它们(要么通过电子邮件发送忘记的密码链接,请通过当我能够对抗这种做法时,我会做很多&q ...

  8. 自动批量修改linux用户密码

    通常会有多台服务器需要同时修改密码,此时可不必一台一台去操作,可以借用expect工具实现批量密码修改工作.涉及到四个文件,ip地址列表文件(iplist.txt),远程密码修改脚本(password ...

  9. Linux密码是一个回文,usermod命令和用户密码管理

    3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 3.4 usermod命令 在某些情况下需要改变现的用户的属性,改变用户的home目录.登录名.密码.登录shell,截 ...

最新文章

  1. puppet aix之自动化用户管理
  2. Docker的使用(二:Docker客户端常用指令练习)
  3. Linux cuda cudann的安装
  4. 如何用java完成Excel快速的导入导出
  5. lstm 和自注意力机制 bert 本质区别的思考历程
  6. Redis的常用命令——hash的常用命令
  7. python中的argparse包——用于解析命令行参数
  8. 将tensor转array
  9. 【6】使用dockerfile打包/运行微服务项目,并上传到私服harbor
  10. Silverlight访问Wcf Ria Library的问题总结
  11. java中常用的包 类和接口_java.util包常用的类和接口
  12. 软件设计师教程-倪奕文-专题视频课程
  13. 寻找心灵深处的菩提树
  14. 计算机内存满了 可是硬盘空的,为什么计算机内存不足
  15. JavaScript生成图形验证码
  16. nvme 驱动详解[转]
  17. app接口设计之signature签名的php实现
  18. Linux unrar命令如何按目录解压rar文件
  19. 服务器物理架构部署图,部署图
  20. 分析优酷/土豆/pptv/乐视 HTML5、m3u8地址

热门文章

  1. Java开发人员幽默外号,姓李的幽默外号 - 经典语录大全
  2. 大数据学习1——大数据概述
  3. 1838.最高频元素的频数
  4. zjs-my-diary-0220118
  5. RC4原理以及Python实现
  6. 下载文件,文件为中文名出现乱码的解决办法
  7. 【算法16】递归算法的时间复杂度终结篇
  8. java jtextarea 监听文本_Java Swing JTextArea文本区域的实现示例
  9. 有手机去视频水印的app下载 迅雷下载
  10. linux C 基于事件回调的epoll反应堆模型