Web存储—简易注册登录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web存储—简易注册登录相关的知识,希望对你有一定的参考价值。

  Web Storage是html5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,cookie只能存储一些短的字符串,Web Storage官方建议为每个网站5MB。

   数据仓库 - 用于存储数据

Web Storage分为两种:

  1、会话存储:sessionStorage ----替代Session(类似于内存)本地存储信息只在会话过程中使用,浏览器关闭也就没了

  2、本地存储:localStorage -----替代Cookie,信息必须长期保存,保存在客户端本地,且由用户决定时长

两种存储方式的属性方法一致,如下:

  • setItem(key,value)  ----- 设置数据(新增|修改数据)            参数: key ---  作为存储数据的标识(唯一,不可重复)    value ---- 存储的数据内容(number|string)
  • getItem(key)           ----- 获取数据(读取数据)          参数: key ---  根据key获取对应的数据内容               返回值 ---- key对应的value值
  • key(index)         ----- 根据索引值返回对应key              参数:index - 索引值                                                  返回值 ---- 返回key值
  • removeItem(key)    ----- 删除数据                                     参数:key - 根据key删除指定数据内容
  • clear()                    ----- 将存储系统的所有数据删除(清空)
  • length属性              ----- 返回当前存储系统的数据个数

接下来使用本地存储来实现简单的注册登录,实现以下功能:

  1、注册信息,并提交至本地,保存用户名和密码;

  2、注册信息可以重置及单项删除;

  3、登录界面,输入已存储的注册信息,登录成功跳转页面;

步骤:

  1、准备一段HTML代码,Bootstrap布局,以下代码从项目中摘出

    效果:

        技术分享技术分享

 

1 <div class="row" id="j4">
 2       <div>
 3         <div class="col-md-4 col-md-push-2 col-xs-8 col-xs-push-2" id="j9">
 4           <div id="btn11">&nbsp;</div>
 5           <div id="btn22">&nbsp;</div>
 6           <div id="part1" >
 7             <div id="for11">
 8               <span><span style="color: red">*&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;名:</span><input type="text" id="user1" />
 9               <div id="user1Tip"></div>
10             </div>
11             <div id="for22">
12               <span><span style="color: red">*&nbsp;</span>&emsp;&emsp;码:</span><input type="password" id="pwd2"/>
13               <div id="pwd2Tip"></div>
14             </div>
15             <div id="for66">
16               <button id="gogo">GO</button>
17             </div>
18           </div>
19           <div id="part2">
20             <div id="for1">
21               <span><span style="color: red">*&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;名:</span><input type="text" id="user" />
22               <div class="emp1">
23                 <div class="divD"></div>
24                 <div class="divX"></div>
25               </div>
26               <div class="bei" id="userTip"></div>
27             </div>
28             <div id="for2">
29               <span><span style="color: red">*&nbsp;</span>&emsp;&emsp;码:</span><input type="password" id="pwd1"/>
30               <div class="emp2">
31                 <div class="divD"></div>
32                 <div class="divX"></div>
33               </div>
34               <div class="bei" id="pwdTip"></div>
35             </div>
36             <div id="for3">
37               <span><span style="color: red">*&nbsp;</span>确认密码:</span><input type="password" id="repwd"/>
38               <div class="emp3">
39                 <div class="divD"></div>
40                 <div class="divX"></div>
41               </div>
42               <div class="bei" id="repwdTip"></div>
43             </div>
44             <div id="for4">
45               <span><span style="color: red">*&nbsp;</span>联系方式:</span><input type="text" id="tel"/>
46               <div class="emp4">
47                 <div class="divD"></div>
48                 <div class="divX"></div>
49               </div>
50               <div class="bei" id="telTip"></div>
51             </div>
52             <div id="for5">
53               <span><span style="color: red">*&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email:</span><input type="text" id="email"/>
54               <div class="emp5">
55                 <div class="divD"></div>
56                 <div class="divX"></div>
57               </div>
58               <div class="bei" id="emailTip"></div>
59             </div>
60             <div id="for6">
61               <button id="resut">重置</button>&emsp;
62               <button id="rigist">提交</button>
63             </div>
64           </div>
65         </div>
66       </div>
67     </div>

   2、编写js代码,实现注册页面的验证信息

  1 function userVaildator() {
  2       //定义正则表达式
  3       var regExp = /^[a-zA-Z0-9]{6,12}$/;
  4       var $myval = $(‘#user‘).val();
  5       //a.不能为空
  6       if ($myval == ‘‘ || $myval == null) {
  7         $(‘#userTip‘).text(‘账号不能为空‘).css({
  8           ‘color‘: ‘red‘
  9         });
 10         $(‘.emp1 .divX‘).attr(‘style‘, ‘display:block‘);
 11         $(‘.emp1 .divD‘).attr(‘style‘, ‘display:none‘);
 12         return false;
 13       }
 14       //b.英文+数字,长度6-12
 15       else if (!regExp.test($myval)) {
 16         $(‘#userTip‘).text(‘用户名输入格式错误‘).css({
 17           ‘color‘: ‘red‘
 18         });
 19         $(‘.emp1 .divX‘).attr(‘style‘, ‘display:block‘);
 20         $(‘.emp1 .divD‘).attr(‘style‘, ‘display:none‘);
 21         return false;
 22       } else {
 23         $(‘#userTip‘).text(‘用户名输入正确‘).css({
 24           ‘color‘: ‘green‘
 25         })
 26         $(‘.emp1 .divD‘).attr(‘style‘, ‘display:block‘);
 27         $(‘.emp1 .divX‘).attr(‘style‘, ‘display:none‘);
 28         return true;
 29       }
 30     }
 31     function pwdVaildator() {
 32       //定义正则表达式
 33       var regExp = /^[a-zA-Z0-9]{6,8}$/;
 34       var $pwdval = $(‘#pwd1‘).val();
 35       //a.不能为空
 36       if ($pwdval == ‘‘ || $pwdval == null) {
 37         $(‘#pwdTip‘).text(‘密码不能为空‘).css({
 38           ‘color‘: ‘red‘
 39         });
 40         $(‘.emp2 .divX‘).attr(‘style‘, ‘display:block‘);
 41         $(‘.emp2 .divD‘).attr(‘style‘, ‘display:none‘);
 42         return false;
 43       }
 44       //b.英文+数字,长度6-12
 45       else if (!regExp.test($pwdval)) {
 46         $(‘#pwdTip‘).text(‘密码输入格式错误‘).css({
 47           ‘color‘: ‘red‘
 48         });
 49         $(‘.emp2 .divX‘).attr(‘style‘, ‘display:block‘);
 50         $(‘.emp2 .divD‘).attr(‘style‘, ‘display:none‘);
 51         return false;
 52       } else {
 53         $(‘#pwdTip‘).text(‘密码输入正确‘).css({
 54           ‘color‘: ‘green‘
 55         });
 56         $(‘.emp2 .divD‘).attr(‘style‘, ‘display:block‘);
 57         $(‘.emp2 .divX‘).attr(‘style‘, ‘display:none‘);
 58         return true;
 59       }
 60     }
 61     function repwdVaildator() {
 62       //定义正则表达式
 63       var regExp = /^[a-zA-Z0-9]{6,8}$/;
 64       var $repwdval = $(‘#repwd‘).val();
 65       var $pwdval = $(‘#pwd1‘).val();
 66       //a.不能为空
 67       if ($repwdval == ‘‘ || $repwdval == null) {
 68         $(‘#repwdTip‘).text(‘确认密码不能为空‘).css({
 69           ‘color‘: ‘red‘,
 70         });
 71         $(‘.emp3 .divX‘).attr(‘style‘, ‘display:block‘);
 72         $(‘.emp3 .divD‘).attr(‘style‘, ‘display:none‘);
 73         return false;
 74       }
 75       //b.要求同上,需与上一致
 76       else if (!regExp.test($repwdval)) {
 77         $(‘#repwdTip‘).text(‘确认密码输入格式错误‘).css({
 78           ‘color‘: ‘red‘,
 79         });
 80         $(‘.emp3 .divX‘).attr(‘style‘, ‘display:block‘);
 81         $(‘.emp3 .divD‘).attr(‘style‘, ‘display:none‘);
 82         return false;
 83       } else if ($repwdval !== $pwdval) {
 84         $(‘#repwdTip‘).text(‘两次密码输入不一致‘).css({
 85           ‘color‘: ‘red‘
 86         });
 87         $(‘.emp3 .divX‘).attr(‘style‘, ‘display:block‘);
 88         $(‘.emp3 .divD‘).attr(‘style‘, ‘display:none‘);
 89         return false;
 90       } else {
 91         $(‘#repwdTip‘).text(‘确认密码输入正确‘).css({
 92           ‘color‘: ‘green‘,
 93           ‘font-weight‘: ‘normal‘
 94         });
 95         $(‘.emp3 .divD‘).attr(‘style‘, ‘display:block‘);
 96         $(‘.emp3 .divX‘).attr(‘style‘, ‘display:none‘);
 97         return true;
 98       }
 99     }
100     function telVaildator() {
101       //定义正则表达式
102       var regExp = /^(13|15)[0-9]{9}$/;
103       var $telval = $(‘#tel‘).val();
104       //a.不能为空
105       if ($telval == ‘‘ || $telval == null) {
106         $(‘#telTip‘).text(‘联系方式不能为空‘).css({
107           ‘color‘: ‘red‘
108         });
109         $(‘.emp4 .divX‘).attr(‘style‘, ‘display:block‘);
110         $(‘.emp4 .divD‘).attr(‘style‘, ‘display:none‘);
111         return false;
112       }
113       //b.
114       else if (!regExp.test($telval)) {
115         $(‘#telTip‘).text(‘联系方式输入格式错误‘).css({
116           ‘color‘: ‘red‘,
117         });
118         $(‘.emp4 .divX‘).attr(‘style‘, ‘display:block‘);
119         $(‘.emp4 .divD‘).attr(‘style‘, ‘display:none‘);
120         return false;
121       } else {
122         $(‘#telTip‘).text(‘联系方式输入正确‘).css({
123           ‘color‘: ‘green‘
124         });
125         $(‘.emp4 .divD‘).attr(‘style‘, ‘display:block‘);
126         $(‘.emp4 .divX‘).attr(‘style‘, ‘display:none‘);
127         return true;
128       }
129     }
130     function emailVaildator() {
131       //定义正则表达式
132       var regExp = /^(\\w)+(\\.\\w+)*@(\\w)+((\\.\\w{2,3}){1,3})$/;
133       var $emailval = $(‘#email‘).val();
134       //a.不能为空
135       if ($emailval == ‘‘ || $emailval == null) {
136         $(‘#emailTip‘).text(‘email不能为空‘).css({
137           ‘color‘: ‘red‘
138         });
139         $(‘.emp5 .divX‘).attr(‘style‘, ‘display:block‘);
140         $(‘.emp5 .divD‘).attr(‘style‘, ‘display:none‘);
141         return false;
142       }
143       //b.
144       else if (!regExp.test($emailval)) {
145         $(‘#emailTip‘).text(‘email输入格式错误‘).css({
146           ‘color‘: ‘red‘
147         });
148         $(‘.emp5 .divX‘).attr(‘style‘, ‘display:block‘);
149         $(‘.emp5 .divD‘).attr(‘style‘, ‘display:none‘);
150         return false;
151       } else {
152         $(‘#emailTip‘).text(‘email输入正确‘).css({
153           ‘color‘: ‘green‘
154         });
155         $(‘.emp5 .divD‘).attr(‘style‘, ‘display:block‘);
156         $(‘.emp5 .divX‘).attr(‘style‘, ‘display:none‘);
157         return true;
158       }
159     }
160     //1.用户名验证
161     $(‘#user‘).focus(function () {
162       $(‘#userTip‘).text(‘请输入英文或数字,长度在6~12之间‘).css({
163         ‘font-size‘: ‘10px‘,
164         ‘color‘: ‘gray‘
165       })
166     }).blur(userVaildator); //在jquery或javascript中绑定独立函数,不能加()
167     //2.密码验证
168     $(‘#pwd1‘).focus(function () {
169       $(‘#pwdTip‘).text(‘请输入英文或数字,长度在6~8之间‘).css({
170         ‘font-size‘: ‘10px‘,
171         ‘color‘: ‘gray‘
172       })
173     }).blur(pwdVaildator);
174     //3.确认密码验证
175     $(‘#repwd‘).focus(function () {
176       $(‘#repwdTip‘).text(‘两次密码输入一致‘).css({
177         ‘color‘: ‘gray‘,
178         ‘font-size‘: ‘10px‘
179       })
180     }).blur(repwdVaildator);
181     //4.tel验证
182     $(‘#tel‘).focus(function () {
183       $(‘#telTip‘).text(‘输入常用联系方式‘).css({
184         ‘color‘: ‘gray‘,
185         ‘font-size‘: ‘10px‘
186       })
187     }).blur(telVaildator);
188     //5.email地址验证
189     $(‘#email‘).focus(function () {
190       $(‘#emailTip‘).text(‘输入正确的邮箱地址‘).css({
191         ‘color‘: ‘gray‘,
192         ‘font-size‘: ‘10px‘
193       })
194     }).blur(emailVaildator);

  3、提交信息、重置信息、删除单项、登录

 1 //提交信息
 2     var rigist = document.getElementById(‘rigist‘);
 3     rigist.onclick = function () {
 4       if (userVaildator() && pwdVaildator() && repwdVaildator() && telVaildator() && emailVaildator()) {
 5         $(‘#rigist‘).html(‘成功‘);
 6         $(‘#rigist‘).css({"background": "green"});
 7         var user = document.getElementById(‘user‘).value;
 8         var pwd1 = document.getElementById(‘pwd1‘).value;
 9         localStorage.setItem(user, pwd1);
10         fn2();
11         return true;
12       } else {
13         $(‘#rigist‘).css({"background": "red"});
14         $(‘#rigist‘).html(‘失败‘);
15         return false;
16       }
17     }
18     //重置信息(全部清除)
19       var resut = document.getElementById(‘resut‘);
20       resut.onclick=fn2;
21       function fn2() {
22         var input = document.getElementById(‘part2‘).getElementsByTagName(‘input‘);
23         for (var i = 0; i < input.length; i++) {
24           input[i].value=‘‘;
25           $(‘#userTip‘).text(‘‘);
26           $(‘#pwdTip‘).text(‘‘);
27           $(‘#repwdTip‘).text(‘‘);
28           $(‘#telTip‘).text(‘‘);
29           $(‘#emailTip‘).text(‘  ‘);
30           $(‘.divX‘).attr(‘style‘, ‘display:none‘);
31           $(‘.divD‘).attr(‘style‘, ‘display:none‘);
32           $(‘#rigist‘).html(‘提交‘);
33           $(‘#rigist‘).css({"background": "#488bbf"});
34         }
35       }
36     //单项删除
37     $("#part2 .divX").each(function(j){
38       console.log(j)
39       $("#part2 .divX").index=j;
40       $("#part2 .divX").eq(j).click(function(){
41         $(this).attr(‘style‘, ‘display:none‘);
42         $(‘#part2 input‘).eq(j).val(‘‘);
43         $(‘#part2 .bei‘).eq(j).text(‘‘);
44       })
45     });
46     //登录
47     var gogo = document.getElementById(‘gogo‘);
48     gogo.onclick = function () {
49       var sum = localStorage.length;
50       for (var i = 0; i < sum; i++) {
51         var key = localStorage.key(i);
52         var value = localStorage.getItem(key);
53         var user1 = document.getElementById(‘user1‘).value;
54         var pwd2 = document.getElementById(‘pwd2‘).value;
55         if (user1 == key || pwd2 == value) {
56           $(‘#gogo‘).html(‘成功‘);
57           $(‘#gogo‘).css({"background": "green"});
58           window.open("https://www.baidu.com/");
59         } else {
60           $(‘#gogo‘).css({"background": "red"});
61           $(‘#gogo‘).html(‘失败‘);
62         }
63       }
64     }

实现效果:

技术分享

 

技术分享

技术分享

跳转成功。。。。

 

以上是关于Web存储—简易注册登录的主要内容,如果未能解决你的问题,请参考以下文章

注册登录-简易代码

一个简易的登录注册界面

一个简易的登录注册界面

Android Studio学习第一篇制作一个拥有登录和注册功能的简易APP

AndroidStudio实现简易android登录注册修改密码页面。

先注册,再登录(简易版)