使用Angular实现了一个简单的登录注册的功能........

涉及到的Angular知识点很少 主要是这个功能的实现...(*^__^*) 嘻嘻……

里面涉及到的知识点记录:

1.本地存储的操作 localStorage

获取本地存储的值 window.localStorage.getItem(key)-->value   (得到的数据是字符串"[ { "name": "andim", 'pwd': '123' } ]" )

设置本地存储的值 window.localStorage.setItem(key,value)

操作:

将取出来的数据(字符串)转化为数组-->然后插入(push)新的值-->再转化为字符串-->再存到本地存储中

方法 :JSON.parse( storage )-->storage.push( this )-->JSON.stringify( storage )-->window.localStorage.setItem(...)

  • JSON.parse(  )      将 json 格式的字符串, 转换成 对象
  • JSON.stringifly( )  将一个 对象 转换成一个 JSON 格式的字符串

    JSON 格式已经是 网络传输中使用的核心数据格式:
    1. 对象的形式: '{ "key": value, "key": value, ... }'
    2. 数组形式: '[ jsonObj, jsonObj, ... ]'

2.数组中的some()方法

遍历数组,遇到符合条件的就停止遍历,有符合就返回true,反之返回flase

数组.some(function(数组v){

return 条件

})

 storage.some(function ( v ) {

     return v.name === name;

 //strorage中name的值和输入的值相等,返回true 返之返回false

 });

附上源代码.......

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.red {
color: red;
}
</style>
</head>
<body ng-app="ZhuCeApp">
<!-- ZhuCeCtrl -->
<!-- View -->
<div ng-controller="ZhuCeController">
用 户 名: <input type="text" ng-model="name"><br />
密&nbsp;&nbsp;码: <input type="text" ng-model="pwd"><br />
确认密码: <input type="text" ng-model="pwd2"><br />
<input type="button" value="注册" ng-click="ZhuCe()">
<span class="red">{{message}}</span>
</div> </body>
<script src="./angular.js"></script>
<script>
// Model
function PersonInfo ( name, pwd ) {
this.name = name;
this.pwd = pwd;
} PersonInfo.prototype.saveToLocalStorage = function () {
// 将 this 写入 本地存储
// 先将以前的数据取出来, 然后在合并到数据中, 再写一会去
var storage = window.localStorage.getItem( 'PersonInfo' ); // 第一次 没有数据 undefiend
// 第二次 "[ { "name": "andim", 'pwd': '123' } ]" storage = storage ? JSON.parse( storage ) : []; // 第一次 storage 是 []
// 第二次 storage 是 [ { "name": "andim", 'pwd': '123' } ] storage.push( this ); // 第一次 [ { "name": "andim", 'pwd': '123' } ]
// 第二次 [ { "name": "andim", 'pwd': '123' }, { "name": "zhangsan", "pwd": "123456" } ] window.localStorage.setItem( 'PersonInfo', JSON.stringify( storage ) );
} //检测是否有重名
PersonInfo.selectByName = function ( name ) {
var storage = window.localStorage.getItem( 'PersonInfo' );
storage = storage ? JSON.parse( storage ) : []; return storage.some(function ( v ) {
return v.name === name;
});
} // Controller
angular.module( 'ZhuCeApp', [] )
.controller( 'ZhuCeController', function ( $scope ) { // 处理逻辑
$scope.ZhuCe = function () {
$scope.message = ''; // 1 需要验证用户的输入
var name = $scope.name,
pwd = $scope.pwd,
pwd2 = $scope.pwd2; if ( name === undefined || name.trim().length === 0 ||
pwd === undefined || pwd.trim().length === 0 ||
pwd2 === undefined || pwd2.trim().length === 0 ) {
$scope.message = '请输入完整信息';
return;
} // 2 如果输入了内容验证密码输入是否一致
if ( pwd !== pwd2 ) {
$scope.message = '两次密码输入不一致';
return;
} // 判断 名字是否已被使用
if ( PersonInfo.selectByName( name ) ) {
$scope.message = '该用户已存在....';
return;
} // 3 写入数据库( localStorage )
var data = new PersonInfo( name, pwd ); // 写到 本地存储中
data.saveToLocalStorage();
$scope.name = $scope.pwd = $scope.pwd2 = '';
}
});
</script>
</html>

很简陋的方法...勿见笑>>>>

Angular之简单的登录注册的更多相关文章

  1. Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...

  2. 7. Swift 基于Xmpp和openfire实现一个简单的登录注册

    1. 基本步骤:首先导入Xmpp框架,配置环境 ->由于我们使用的是OC的Xmpp框架,再进行Swift开发时需要进行桥接. 具体方法就是创建一个基于c的.h的头文件,然后将我们需要编译OC的语 ...

  3. node.js实现简单的登录注册页面

    首先需要新建四个文件 一个服务器js 一个保存数据的txt 一个登陆.一个注册页面html 1.注册页面 <!DOCTYPE html> <html lang="en&qu ...

  4. spring boot1.1 idea + springboot + mybatis(mybatis-generator) +mysql +html实现简单的登录注册

    前言 这两年springboot比较火,而我平时的工作中不怎么使用spring boot,所以工作之余就自己写写项目练练手,也跟大家一起学习. 打算从最开始的搭架子,登录注册,到后台管理的增删改查,业 ...

  5. go语言实现一个简单的登录注册web小程序

    最近学习golang也有一段时间了,基础差不多学了个大概,因为本人是java程序员,所以对web更感兴趣.根据<go web编程>中的例子改编一个更简单的例子,供新手参考,废话不多说,上菜 ...

  6. Python简单的登录注册代码

    #-*- coding: utf-8 -*- import hashlib # 定义数据库(声明字典) #注册登录的简单hash处理 db={} def get_md5(password): md5= ...

  7. PHP 链接数据库1(连接数据库&简单的登录注册)

    对 解析变量的理解 数据库的名称和表的名称不能重复 从结果中取出的数据   都是以数组的形式取出的 1.PHP查询数据库中的某条信息 //PHP链接数据库 /*1.造链接对象 IP地址 用户名 密码 ...

  8. java web 简单的登录注册

    --sql文件 create database studentgouse studentgocreate table stuinfo(--stuid int primary key identity( ...

  9. 基于SSM框架实现简单的登录注册

    一.环境配置 工程目录 在pom.xml添加依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=& ...

随机推荐

  1. 转:POST 400 Bad Request The request sent by the client was syntactically incorrect

    最近在做Web开发的时候,使用$.post提交数据,但是回调函数却没有被触发,按F12看控制台输出是:POST *** 400 Bad Request 后台是SpringMVC的,设置了断点也不会被触 ...

  2. web相关知识

    1,网络编程/网站编程:敲一个网站,别人可以访问 访问:在地址栏里面敲入地址,就可以访问了. 服务器如果放在公网,那么别人就可以通过IP地址进行访问 所以我们可以先在本地把我们的网站搭好,别人就可以来 ...

  3. 报表XtraReport创建是实现

    1.创建XtraReport报表程序 一般设计这个程序是分着的,为了方便我就把他们合到一起 首先创建一个Winform Application 在form1中放一个button,右键程序,添加新项 如 ...

  4. Props 和 IActorRef 3

    在Actor模式中我们使用IActorRef通过ActorSystem来发送消息数据.这么做有两个理由 1.ActorSystem会在消息中封装一些元数据(metadata),这些数据我们可以通过上下 ...

  5. spring注入bean的五种方式

    1.属性注入 2.构造方法注入 3.静态工厂注入 package com.voole.factorybeans; import com.voole.beans.TestBean; public cla ...

  6. 微信小程序电商实战-商品详情(上)

    先看一下今天要实现的小程序商品详情页吧!   商品详情.gif 本期我们要实现小程序商品详情页的头部标题.头部轮播.商品详情浮动按钮和商品内页布局. 一.设置头部标题 如上图所示,头部标题是商品详情 ...

  7. Windows环境下sublime text 3搭建前端开发环境

    一.安装SubLime Text 3 SubLime Text 3官网下载:https://www.sublimetext.com/ 二.安装Package Control 进入sublime后,按快 ...

  8. 在unbuntu 1204(32位)下安装hadoop2.2.0的一些问题

    虽然在网上可以找到很多这样的step by step的教程,但是我还是遇到了很多问题.趁着一点记忆,将这些问题记录下来.安装过程参考了以下博客: http://www.cnblogs.com/life ...

  9. time和datetime模块

    在Python中,通常有这几种方式来表示时间: 1)时间戳 2)格式化的时间字符串  3)元组(struct_time)共九个元素. 由于Python的time模块实现主要调用C库,所以各个平台可能有 ...

  10. python模块介绍和 import本质

    模块的定义: 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质上就是.py结尾的python文件. 包的定义: 用来从逻辑上组织模块的,本质上就是一个目录.(必须有一个__ ...