vue之简单的注册账号

用vue来实现一个小小的注册功能并且能够登录(在之前的文章中发表过登录的代码),不用路由的方式,用localStorage.setItem()和localStorage.getItem()的方式实现页面跳转的数据传递,下面贴js部分代码:

var login = new Vue({
		el:'.tb_login',
		data:{
			username1:[], //存储用户名数据
			password1:[], //存储密码数据
			username:'',
			password:'',
			index:0,
			show:false,
			show1:false,
			show2:false,
			phone:'', //input框中v-model的值,注册的手机号
			pass:'', //input框中v-model的值,注册的密码
			pass1:'' //input框中v-model的值,确认的密码
		},
		methods:{
			// 点击免费注册按钮,跳转至注册页
			regis:function(){
				window.location.href="register.html";
			},
			//点击登录按钮验证用户名和密码
			login:function(){
				//接收已存储的username1和password1并将其转换回数组格式
				var userName = JSON.parse(localStorage.getItem('this.username1'));
				var passWord = JSON.parse(localStorage.getItem('this.password1'));
				while(this.index!=userName.length-1 && username1.length!=0){
					this.index++;
				}
				for(var i=0;i<=this.index;i++){
					//登录成功时的条件,并在匹配成功后退出循环
					if(userName[i]==this.username&&passWord[i]==this.password){
						window.location.href="TB.html";
						//登录成功进入淘宝首页
						break;
					}else{
						//当循环的i值不等于this.index值时,继续循环但不输出
						if(i!=this.index)
							continue;
						//匹配失败,弹出提示框
						else{
							//用户名和密码不匹配时弹出提示
							this.show=true;
							let self=this;
							//弹出的提示框两秒后消失
							setTimeout(function(){
								self.show=false;
							},2000);
							break;
						}
					}
				}
			},
			//点击按钮验证手机号是否符合规范
			verrif:function(){
				var reg=11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/;
				if(!reg.test(this.phone)){
					//检测失败,弹出提示框
                    this.show=true;
					let self=this;
					//弹出的提示框两秒后消失
					setTimeout(function(){
						self.show=false;
					},2000);
                }else{
                	//检测成功将手机号添加到用户名数据中并跳转至设置密码页
                	this.username1.push(this.phone);
                	//本地存储已更新的this.username1并将其转换为字符串格式
         			localStorage.setItem('this.username1',JSON.stringify(this.username1));
                	window.location.href='password.html';
                }
			},
			//点击按钮验证密码
			verrify:function(){
				//验证密码的位数在6位到15位之间
				if(this.pass.length>=6&&this.pass.length<=15){
					if(this.pass==this.pass1){
						this.password1.push(this.pass);
						//本地存储已更新的this.password1并将其转换为字符串格式
						localStorage.setItem('this.password1',JSON.stringify(this.password1));
						this.show2=true;
						let self=this;
						//两秒后跳转至登录页
						setTimeout(function(){
							window.location.href='login.html';
						},2000);
					}else{
						//弹出密码不一致的提示框
						this.show1=true;
						let self=this;
						//弹出的提示框两秒后消失
						setTimeout(function(){
							self.show1=false;
						},2000);
					}
				}else{
					//弹出密码不符合规范的提示框
					this.show=true;
					let self=this;
					//弹出的提示框两秒后消失
					setTimeout(function(){
						self.show=false;
					},2000);
				}
			}
		}
	});

之前在网上看过很多关于localStorage.setItem和local.getItem的应用,但是并没有解决我的困难问题,所以经过与老师的探讨突然开窍的我,一下子就明白了,希望这篇文章对大家有用。


猜你喜欢

转载自blog.csdn.net/Alberqing_/article/details/80384555