zoukankan      html  css  js  c++  java
  • JS的innerHTML完成注册表

    用JS的inner HTML完成注册表的提示功能

     

    就写了一个很简单很简单的注册表,用JS完成了一个简单的验证提示功能

     

     

     

    • 首先把总体的表单写出来,比如用户名,密码之类的

    • 在右边加一个span标签,用innerHTML来写提示的

    • 每一个input记得要加上id,便于后面的调用

    • input里使用onblur()事件,用于失焦时的检验

    • 使用JS写function用于检验

     

     

     

    知识点

    • innerHTML:设置或返回表格行的开始和结束标签之间的 HTML

    • onblur:在元素失去焦点时触发,经常用于表单验证代码

    • type="file":用于文件上传

    • accept:只能与 <input type="file"> 配合使用。它规定能够通过文件上传进行提交的文件类型 (不限制图像的格式,可以写为:accept="image/*")

    • 邮箱的验证主要是用了正则表达式

     

     

     

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>注册页面</title>
    <style type="text/css">
    .box{
    height: 200px;
    380px;
    margin: 0 auto;
    margin-top: 100px;
    }
    span{
    color: red;
    font-size: 12px;
    }
    </style>
    </head>
    <body>
    <div class="box">
    <form method="post" onsubmit="return check()" name="sub">
    <p>用户名<input type="text" placeholder="请输入用户名" id="uname" onblur="check()"/>
    <span id="cn">不为空</span>
    </p>
    <p>密码<input type="password" placeholder="请输入密码" id="upd" onblur="checkpassword()"/>
    <span id="cp">不为空</span>
    </p>
    <p>确认密码<input type="password" placeholder="请重复输入密码" id="reupd" onblur="checkrepd()"/>
    <span id="recp">确认密码</span>
    </p>
    <p>性别<input type="radio" name="sex" value="nan"/>男<input type="radio" name="sex" value="nv"/>女</p>
    <p>邮箱<input type="text" placeholder="请输入邮箱" id="uemail" onblur="checkemail()"/>
    <span id="ce">不为空</span>
    </p>
    <p>头像<input type="file" value="选择头像" accept="image/*"/></p>
    <p><input type="submit" value="提交"/>
    <input type="reset" value="重置" />
    </p>
    </form>
    </div>
    <script type="text/javascript">
    function checkname(){
    var c1=document.getElementById("cn");
    c1.innerHTML="✔";
    var name=document.sub.uname.value;
    if(name==""){
    c1.innerHTML="用户名不能为空!"
    document.sub.uname.focus();
    return false;
    }
    if(name.length<4||name.length>12){
    c1.innerHTML = "用户名长度为4-12个字符";
    document.sub.uname.select();
    return false;
    }
    var charname=name.toLowerCase();
    for(var i=  0 ;i< name.length; i++){
    var charname1=charname.charAt(i);
    if(!(charname1 >= 0 && charname1 <= 9 ) && (!(charname1 >= 'a' && charname1 <= 'z')) && (charname1 != '_')){
    c1.innerHTML="用户名包含非法字符"
    return false;
    }
    }
    return true;
    }
    function checkpassword(){
    var c2=document.getElementById("cp");
    c2.innerHTML="✔";
    var password=document.sub.upd.value;
    if(password==""){
    c2.innerHTML="✖ 密码不能为空!"
    document.sub.upd.focus();
    return false;
    }
    if(password.length< 6 ||password.length>12){
    c2.innerHTML = "密码长度为6-12个字符";
    document.sub.upd.select();
    return false;
    }
    return true
    }
    function checkrepd(){
    var c3 = document.getElementById("recp")
    c3.innerHTML="✔"
    var password=document.sub.upd.value;
    var repassword=document.sub.reupd.value;
    if(repassword==""){
    c3.innerHTML="✖ 确认密码不能为空!"
    document.sub.reupd.focus();
    return false;
    }
    if(password!=repassword){
    c3.innerHTML="✖密码不一致"
    document.sub.reupd.select();
    return false;
    }
    return true
    }
    function checkemail(){
    var c4 = document.getElementById("ce");
    var email = document.sub.uemail.value;
    var chemail = /^([a-zA-Z]|[0-9])(w|-)+@[a-zA-Z0-9]+.([a-zA-Z]{2,4})$/;
    c4.innerHTML="✔"
    if(email == ""){
    c4.innerHTML="✖邮箱不可以为空";
    return false;
    }
    if(!chemail.test(email)){
    c4.innerHTML = "✖格式不正确";
    return false;
    }
    return true;

    }

    function check(){
    if(checkname()&&checkpassword()&&checkpassword()&&checkemail()){
    return true;
    }else{
    return false;
    }
    }
    </script>
    </body>
    </html>


     

     

     

     

     

     

    • 这个就只有很简单的检验功能,没有提交的功能

    • 发消息的那个功能好像也可以使用innerHTML来实现,等我研究完再写(一定要记得)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    • 我写的真的是越来越简短了,明明之前写出来都是很有成就感的,但是现在写出来就像是完成任务一样,一天拖一天,写得一次比一次烂

    • 还要准备六级,害怕又过不了

    • 还是认真学的时候想学的时候效率高,不然一整天都不知道干了什么

  • 相关阅读:
    安装 oracle 11g 发行版 出现错误:由于以下错误,Enterprise Manager配置失败,启动Database Control时出错
    ORACLE_SID的查找
    visual studio 2017 编译v140 TRACKER : error TRK0005: Failed to locate: "CL.exe". 系统找不到指定的文件
    mysql 数据库表名大小写问题
    Windows下部署mongodb
    where case 使用
    虚拟机,云服务器搭建vulhub靶场
    [De1CTF 2019]SSRF Me
    [2020YCTF]web1-rce_nopar
    [2020YCTF]
  • 原文地址:https://www.cnblogs.com/bell-ld/p/14058831.html
Copyright © 2011-2022 走看看