登录注册——注册输入验证

上次讲了登录注册问题的数据库表怎么建,以及具体有哪些内容。今天主要讲一下注册的表单验证。我们经常上网各种登录注册的时候应该已经注意过就是有时候密码有要求,比如输入6-20位密码。还有确认密码,必须和密码输入一致的时候才行。邮箱也是,邮箱的格式不能出错。当以上格式有误的时候就不能提交表单,还有如果还有必填项目没有填的话也不可以提交表单。

一看见判断输入框的格式还有位数限制时我们首先就应该想到正则表达式。

下面我们来边看代码表讲解。

这个就是html的页面代码,我们用的是AngularJS来写的。布局用了Bootstrap。

<body>

<div class="container" ng-controller="contentController">

    <div class="row r1">

        <form role="form" id="form">

            <p>注册</p>

            <div class="form-group">

                <label for="name">用户名:</label>

                <input type="text" ng-blur="testUser()" ng-model="name" class="form-control" id="name" placeholder="Enter name">

                <span ng-class="{redText:isRedName}">{{username_info}}</span>

            </div>

            <div class="form-group">

                <label for="pwd">密码:</label>

                <input type="password" ng-model="pwd" ng-blur="testPwd()" class="form-control" id="pwd" placeholder="Password">

                <span ng-class="{redText:isRedPwd}">{{pwd_info}}</span>

            </div>

            <div class="form-group">

                <label for="confirmPwd">确认密码:</label>

                <input type="password" ng-blur="testConfirmPwd()" ng-model="confirmPwd" class="form-control" id="confirmPwd" placeholder="Confirm password">

                <span ng-class="{redText:isRedConfirmPwd}">{{confirmPwd_info}}</span>

            </div>

            <div class="form-group">

                <label for="email">邮箱:</label>

                <input type="email"  ng-model="email" ng-blur="testEmail()" class="form-control" id="email" placeholder="Enter email">

                <span ng-class="{redText:isRedEmail}">{{email_info}}</span>

            </div>

            <div class="form-group">

                <label for="sex">性别:</label>

                <input type="text" ng-blur="testSex()" ng-model="sex" class="form-control" id="sex" placeholder="Enter sex">

                <span ng-class="{redText:isRedSex}">{{usersex_info}}</span>

            </div>

            <button type="button"  id="submit" ng-click="register()" class="btn btn-default">Submit</button>

            <div id="infoBox">

                <span ng-model="info" id="info">{{register_info}}</span>

            </div>

        </form>

    </div>

</div>

</body>

先看用户名的判断:

ng-blur="testUser()"就是鼠标离开用户名输入框时调用testUser()函数

testUser()函数如下:

$scope.testUser=function(){

            var reg=/^[A-Za-z0-9]\w{5,14}$/;

            if($scope.name && reg.test($scope.name)){

                $scope.username_info="√";

                $scope.usernameIsError=false;

                $scope.isRedName=false;

            }

            else{

                $scope.username_info="×";

                $scope.usernameIsError=true;

                $scope.isRedName=true;

            }

正则表达式表示用户名为以字母或数字开头的6-15位包括下划线的任何单词字符。在输入框后面加span字段来标志输入是否正确,定义为username_info,span定义一个类ng-class="{redText:isRedName}",当输入符合正则表达式时,$scope.isRedName=false;就是span输入“√”,颜色为绿,相反输入“×”,颜色为红。效果图如下:

密码判断:

$scope.testPwd=function(){

            var reg=/^.{6,15}$/;

            if($scope.pwd && reg.test($scope.pwd)){

                $scope.pwd_info="√";

                $scope.pwdIsError=false;

                $scope.isRedPwd=false;

            }

            else{

                $scope.pwd_info="×";

                $scope.pwdIsError=true;

                $scope.isRedPwd=true;

            }

}

看正则表达式表示我们需要输入6-15位的任意字符即可。

效果图如下:

输了17位的情况:

输了10位的情况:

确认密码:

$scope.testConfirmPwd=function(){

            if($scope.pwd==$scope.confirmPwd && $scope.pwd){

                $scope.confirmPwd_info="√";

                $scope.confirmPwdIsError=false;

                $scope.isRedConfirmPwd=false;

            }

            else{

                $scope.confirmPwd_info="×";

                $scope.confirmPwdIsError=true;

                $scope.isRedConfirmPwd=true;

            }

        };

如上,我们只需要判断确认密码输入框和密码输入框一致并且密码输入框不为空时就是正确的。效果图如下:

邮箱输入:

$scope.testEmail=function(){

            var reg=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;

            if($scope.email && reg.test($scope.email)){

                $scope.email_info="√";

                $scope.emailIsError=false;

                $scope.isRedEmail=false;

            }

            else{

                $scope.email_info="×";

                $scope.emailIsError=true;

                $scope.isRedEmail=true;

            }

        };

正则表达式写了邮箱的样式,大家平时写代码的时候正则表达式不清楚的话可以自己上网查一下正则表达式该怎么写。

效果图如下:

关于性别我没有用input type=”radio”来做,我用的是input type=”text”来做的。只是限定了只能输入“男”或者“女”。

 $scope.testSex=function(){

            if($scope.sex && $scope.sex=="男"||$scope.sex=="女"){

                $scope.usersex_info="√";

                $scope.usersexIsError=false;

                $scope.isRedSex=false;

            }

            else{

                $scope.usersex_info="×";

                $scope.usersexIsError=true;

                $scope.isRedSex=true;

            }

        };

效果图如下:

各项判断大致就是这样写的,写好提交到后台就需要用到ajax了。我们下一篇再来讲ajax的写法。

时间: 2024-08-09 22:00:28

登录注册——注册输入验证的相关文章

js登录与注册验证

经常写js验证,感觉很麻烦,这次就把他整理贴出来,以后可以直接用了.具体介绍这里不罗嗦了,直接贴代码,相信大家都能理解代码的含义 登录验证: Jsp页面代码: <form action="userLogin.action" method="post" onsubmit="return login();" id="loginForm"> <h3>用户登录</h3> <br /> 用

SSM实现的一套用户登录注册系统,附带验证等功能(使用idea开发)

未登录时的界面: 登录和注册界面,有动态效果: 登陆之后的界面 拥有完善的验证功能 package com.yue.service; import com.yue.mapper.UserMapper; import com.yue.pojo.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.

编写一个系统(登录、注册、验证用户名密码和验证码、覆盖存储用户)

编写一个系统 开始方法呈现开始菜单 登陆注册退出 编写账号类(存储正确的用户名和密码)用户名密码 要求:选择登陆后输入用户名密码 并进行验证(编写验证方法),验证成功后进入主菜单界面 主菜单界面:幸运抽奖(需要完成功能)购物结算商品陈列真情回馈注销用户 验证错误或者菜单选择错误可以给出提示并允许继续操作(比如用户名输错,重新输入,菜单输错也可以重新输入,主菜单输错应返回主菜单界面) 注册要求:输入注册的用户名和密码和验证码(4位数字验证码),如果账户存在则不能注册,如果不存在将注册的信息写入账号

登录及注册模块设置与流程图

原文地址:http://www.cocoachina.com/design/20170320/18918.html 一.登录/注册模块流程图 1.电商&O2O类产品下单注册逻辑 2.类似于简书&知乎等内容型社区产品 二.关于注册流程 1.同一页面中完成注册 较适合填写信息较少(往往不包含关于用户个人信息的设置),注册流程简洁的产品,这类产品的注册所需的信息往往只包含:手机号.验证码.密码等最简单的信息. 在同一页面中完成注册,能够能够让用户对整个注册流程有个心理预期,对填写的信息能够进行预

Java入门:用户登录与注册模块1(实践项目)——分析

任务描述:用户登录与注册是大多数软件都拥有的一个模块.请编写一个控制台程序,实现用户的登录与注册功能,并且用户能够修改自己信息. [需求分析]由于本程序是一个演示程序,用户的信息我们做简化处理,仅包括:用户名.密码和EMAIL. 1.系统功能分析 分析一个系统或一个模块,我们首先需要了解系统需要实现哪些功能,通常可采用用例图来描述分析结果.对于本任务,用例图为: 对于每个用例,可以使用用例描述表来详细阐述用例内容.用户登录注册模块的三个用例描述表如下: (1)登录用例描述表 用例名称 登录 标识

Django从零搭建个人博客 | 使用allauth插件管理用户登录与注册

原文博客地址:http://www.eosones.com/ django-allauth是最受欢迎的管理用户登录与注册的第三方Django安装包,可以大大简化我们用户注册,登录及账户管理,其核心功能包括用户注册.忘记密码.登录(微信,微博等第三方登录:邮箱验证).登录后密码重置.邮箱发送密码重置链接.退出等. 安装与设置 运行CMD,打开虚拟环境 pip install django-allauth 安装好后设置Myblog / settings.py,将allauth相关APP加入到INST

测试用例——登录与注册

在编写web网址的测试用例的时候,最常见的就是登录,注册两种场景.下面我根据自己浅薄的测试经验记录下编写这2种测试场景的用例. 登录:考虑的常见场景: 1.用例是否考虑A的用户名+B的密码?(后端)2.用例是否考虑母账号被禁用,子账号是否能登录?3.用例中是否考虑,一个用户多地登陆的场景?4.用例是否考虑登录时,密码是否明文显示?5.用例是否考虑登录按钮只能在用户名或者密码文本框都符合格式下点击才能发送请求?(前端)6.用例是否考虑未注册用户名的登录?7.用例是否考虑用户名输入格式(特殊字符,中

UI进阶 即时通讯之XMPP登录、注册

一.即时通讯 什么是即时通讯. 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,服务提供商也提供了越来越丰富的通讯服务功能. 即时通讯的实现方式 即时通讯有多种实现方式,例如:XMPP.环信.融云等. 什么是XMPP XMPP(XML,Messages,Presence,Protocol)是基于可扩展标记语言(XML)的协议,可用于即时通信(IM).——可扩展消息处理现场协议 XMPP优点 开放XMPP协议是由JSF开源

即时通讯:第一阶段(登录和注册)

首先是配置XMPP环境,然后建立一个工程,需要建立Core Data的项目,要引入三个框架,如下图,因为用到的XMPPFramework第三方框架中用到了XML解析,所以还要在设置中设置Header Search Paths为/usr/include/libxml2,Other Linker Flags改为-lxml2 XMPPManger.h 1 #import <Foundation/Foundation.h> 2 #import "XMPPFramework.h" /

使用PHP实现用户登录和注册的功能

登陆界面 login.PHP [html] view plain copy <form action="logincheck.php" method="post"> 用户名:<input type="text" name="username" /> <br /> 密码:<input type="password" name="password"