如有如下注册界面,请写出相应的html和Script脚本

  

  我们经常会遇到这样的需求,今天用原生js来实现。

  实现思路:

  1、布局,通过div层将 用户名输入,密码输入、确认密码输入,垂直排列

用户名、输入框、提示分别用Label、input、span,

  要注意的是Label、input、span都是行级元素,需要转换成块级元素进行宽高设置。

  布局的图:如下

  

2.根据布局分层次设置布局的样式

  3.JS里实现button的点击事件,通过JS,DOM操作获取input的值,进行验证。

  代码实现:

  register.html:

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="register.css" type="text/css">
    <script type="text/javascript" src="register.js"></script>

</head>
<Script></Script>
<body class="body">

    <div class="nav"   >
        <div class="navitem">
            <label class="label" >用户名:</label>
            <input  class="registerinput"  type="text" id="register_name"  />
            <span class="register_error" id="register_name_error"  >请输入字母和数字</span>
        </div>

        <div class="navitem" >
            <label class="label"  >密码:</label>
            <input class="registerinput"  type="password" id="password" />
            <span class="register_error" id="password_error"  >请输入数字密码</span>
        </div>

        <div class="navitem">
            <label class="label" >确认密码:</label>
            <input class="registerinput" type="password" id="affirmpassword"   />
            <span class="register_error" id="affirm_password_error"  >请输入确认密码</span>
        </div>

        <div class="navbtn" >
            <Button class="myBtn"  id="myBtn" type="button" >注册</Button>
        </div>
    </div>
</body>
</html>

  register.css:

  

.body{background-color: azure}
.nav {  text-align: center;margin: 180px 500px 60px 500px;  border: 1px;}
.navitem{margin: 20px 0; }
.label{display:inline-block;  width:100px;  line-height: 44px;  color: #999; text-align: left; }
.registerinput{display:inline-block;width:200px;text-align: left; box-sizing: border-box;  padding: 10px 0;  border: 0;background-color: #ededed}
.register_error{display:inline-block; width:200px;text-align: left;margin-left: 10px;}
.navbtn{margin-top: 60px}
.myBtn{width: 200px;height:40px; background-color: #ededed;border: 0}

  register.js:

  

/**
 * Created by Administrator on 2017/3/31.
 */
window.onload=function () {//页面加载后执行
    document.getElementById("myBtn").onclick=function(){changetext()};

    function changetext()
    {

        var regpassword = new RegExp("^[0-9]*$");
        var regloginName = new RegExp("^[0-9a-zA-z]*$");

        var login_name=document.getElementById(‘register_name‘).value;
        var password=document.getElementById(‘password‘).value;
        var affirmpassword=document.getElementById(‘affirmpassword‘).value;

        var  login_name_error=document.getElementById(‘register_name_error‘);
        var  password_error=document.getElementById(‘password_error‘);
        var  affirm_password_error=document.getElementById(‘affirm_password_error‘);

        //重置验证提示信息
        login_name_error.innerHTML="";
        login_name_error.style.color="black"
        password_error.innerHTML="";
        password_error.style.color="black"
        affirm_password_error.innerHTML="";
        affirm_password_error.style.color="black"

        console.log(login_name);
        console.log(password);
        console.log(affirmpassword);

        if(login_name.length==0){
            login_name_error.innerHTML="登录名不能为空";
            login_name_error.style.color="red";
            return;
        }

        if(!regloginName.test(login_name)){
            login_name_error.innerHTML="登录名必须是数字或字母";
            login_name_error.style.color="red";

            return;
        }

        if(password.length==0){
            password_error.innerHTML="密码不能为空";
            password_error.style.color="red";

            return;
        }
        if(affirmpassword.length==0){
            affirm_password_error.innerHTML="确认密码不能为空";
            affirm_password_error.style.color="red";

            return;
        }

        if(!regpassword.test(password)){
            password_error.innerHTML="密码请输入数字";
            password_error.style.color="red";
            return;
        }
        if(password.length>6){
            password_error.innerHTML="密码不能超过6位";
            password_error.style.color="red";
            return;
        }
        if(password!==affirmpassword){
            password_error.innerHTML="两次密码输入必须相同";
            password_error.style.color="red";
            return;
        }

        alert(‘注册成功‘);
    }
}
时间: 2024-10-08 15:02:54

如有如下注册界面,请写出相应的html和Script脚本的相关文章

2015年9月28日作业(请写出项目范围管理论文的提纲)

作业内容:请写出项目范围管理论文的提纲 项目概述 (1)介绍项目基本情况 (2)项目范围管理的定义和目的 (3)介绍项目范围管理主要经过范围规划.范围定义.创建WBS.范围确认.范围控制 范围规范 (1)介绍项目章程.项目的初步范围说明书.项目管理计划 (2)制定项目范围管理计划的方法与过程 (3)简要介绍项目范围管理计划 范围定义 (1)制定项目范围说明书 (2)项目范围说明书应包含的内容说明 创建WBS (1)创建WBS的方法 (2)项目的基线 范围确认 (1)范围确认的定义及输入 (2)范

php面试题:如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码。

如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码. $str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";//任意长度字符串 //解法一(最快速的解法,但是基本功要扎实) $arr=str_split($str); $arr=array_count_values($arr); arsort($arr); print_r($arr); //解法二(对逻辑能力有一定要求)

为什么要使用MVC模式,MVC模式的优势有哪些?请写出你熟悉的MVC轻量级框架名称。

MVC就是常说的:模型(Model),视图(View)和控制Controller) 它把业务处理和Jsp页面分开了.而以前的Jsp页面是把所有的代码都写在Jsp页面中,那样不利于维护 MVC模式的目的就是实现Web系统的职能分工. MVC模式的好处: 1.各施其职,互不干涉 在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码. 2.有利于开发中的分工 在MVC模式中,由于按层把系统分开,那么就能更好的实现开发中的分工.网页设

请写出并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数

方法一: <?php if ($argc > 1){ print_r($argv); } ?> php.exe test.php welcome Ricky Feng 方法二: 还有一种这样的,提示用户输入,然后获取输入的参数.有点像C语言 <?php fwrite(STDOUT, "Enter your name: "); $name = trim(fgets(STDIN)); fwrite(STDOUT, "Hello, $name!")

面试题之请写出用于校验 HTML 文本框中输入的内容全部为数字 的 javascript 代码

<input type="text" id="d1" onblur=" chkNumber(this)"/> <script type=”text/javascript” /> function chkNumber(eleText) { var value =eleText.value; var len =value.length; for(vari=0;i<len;i++) { if(value.charAt(i)

2.为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。 请写出问题定义并分析此系统的可行性。

数据流程图: 取票图: 航空订票系统技术在目前是一个技术上成熟的系统,并且在航空公司内部准备采取有力措施保证资金和人员配置等.因此,分阶段开发“航空订票系统”的构想是可行的.为了使航空公司适应现代化市场竞争的需求,促进机票预订管理信息化,不断满足旅客预订机票的要求,争取更好的经济效益,可立即着手系统的开发与完善.

老男孩教育每日一题-2017年3月27日-请写出下面linux命令行快捷键的功能?

Ctrl + a Ctrl + e Ctrl + c Ctrl + d Ctrl + l Ctrl + u Ctrl + k Ctrl + r ctrl + y 解答: 1.1.1 光标移动 Ctrl + a 切换到命令行开始 Ctrl + e 切换到命令行末尾 1.1.2 剪切粘贴 Ctrl + u 清除(剪切)光标之前的内容 Ctrl + k 清除(剪切)光标之后的内容 ctrl + y 粘贴 esc + f 把光标移动到单词的结尾 esc + b 把光标移动到单词的开头 ctrl + b 

9.请写出PHP5权限控制修饰符

1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用. 3.protected:protected对于子女.朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private.

请写出一个宏定义,用以判断一个C是否是字母字符,若是,得1,否则得0

#include<stdio.h> #define M (a>='a'&&a<='z')?1:0 #define N (a>='A'&&a<='Z')?1:0 #include<stdlib.h> main() { char a; int b; scanf("%c",&a); if(a>='a') b=M; else b=N; printf("%d\n",b); syste