JavaScript的综合案例

news2024/12/26 22:11:38

案例要求:

实现一个表单验证

1.当输入框失去焦点时,验证输入的内容是否符合要求

2.当点击注册按钮时,判断所有输入框的内容是否都符合要求,如果不符合要求阻止表单提交

简单的页面实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>欢迎注册</title>
</head>
<body>
    <h1>欢迎注册</h1>
    <form action="#" id="register">
        <table>
            <tr>
                <td>用户名</td>
                <td>
                   
                    <input type="text" name="username" id="username" >
                    <!-- 先设置为隐藏格式 -->
                    <span id="uwername_err" style="display: none;" >用户名不符合规则</span>
                </td>
            </tr>
            <tr>
                <td>密码</td>
                <td>
                    <input type="password"  name="password" id="password">
                    <span id="password_err" style="display: none;" >密码不符合规则</span>
                </td>
            </tr>
            <tr>
                <td>电话</td>
                <td>
                    <input type="text" name="tel" id="tel">
                    <span id="tel_err" style="display: none;" >电话不符合规则</span>
                </td>
            </tr>
        </table>
        <input type="button" value="提交">
    </form>


</body>
</html>

 

1.当输入框失去焦点时,验证输入的内容是否符合要求

我们先设置用户名的事件,当鼠标离焦该元素时,触发函数

<tr>
                <td>用户名</td>
                <td>
                    <!-- //给用户框元素绑定一个离焦事件,当鼠标离开该元素就触发函数 -->
                    <input type="text" name="username" id="username" onblur="checkUsername()">
                    <!-- 先设置为隐藏格式 -->
                    <span id="uwername_err" style="display: none;" >用户名不符合规则</span>
                </td>
            </tr>

 checkUsername函数的实现

 <script>
        function checkUsername()
        {
            //获取用户框输入的值
           let usernameValue= document.getElementById("username").value;
           //创建正则对象
          // let regex=new RegExp("^\\w{6,10}$");
          let regex=/^\w{6,10}$/;
          //判断输入的值是否符合正则
          if(regex.test(usernameValue)){
//重现设置为隐藏
            document.getElementById("uwername_err").style.display="none";
            return true;
          }else{
            //不满足,把用户名的span标签显示出来
            document.getElementById("uwername_err").style.display="block";
            document.getElementById("uwername_err").style.color="red";
            //阻止表单提交
            return false;
            
          }

        }
        
    </script>

结果:

设置密码的绑定事件

 <tr>
                <td>密码</td>
                <td>
                    <input type="password"  name="password" id="password" onblur="checkPassword()">
                    <span id="password_err" style="display: none;" >密码不符合规则</span>
                </td>
            </tr>

 checkPassword函数

   <script>
        function checkPassword(){
            //获取密码框输入的值
            let passwordValue=document.getElementById("password").value;
            //创建正则对象
            let regex=/^.{6,12}$/;
            //判断是否满足
            if(regex.test(passwordValue)){
                //满足,把密码的span标签内容隐藏
                document.getElementById("password_err").style.display="none";
                //提交表单
                return true;
            }else{
                //不满足
                document.getElementById("password_err").style.display="block";
                document.getElementById("password_err").style.color="red";

                return false;
            }
        }
</script>

 设置电话的绑定事件

<tr>
                <td>电话</td>
                <td>
                    <input type="text" name="tel" id="tel" onblur="checkTel()">
                    <span id="tel_err" style="display: none;" >电话不符合规则</span>
                </td>
            </tr>

checkTel函数

 <script>
        function checkTel(){
            //获取电话框输入的值
            let telValue=document.getElementById("tel").value;
            //创建正则对象
            let regex=/^1[3-9]\d{9}$/;
            if(regex.test(telValue)){
                document.getElementById("tel_err").style.display="none";
                return true;
            }else{
                //不满足
                document.getElementById("tel_err").style.display="block";
                document.getElementById("tel_err").style.color="red";

                return false;
            }
        }
</script> 

2.当点击注册按钮时,判断所有输入框的内容是否都符合要求,如果不符合要求阻止表单提交 

我们现在实现的功能有一个框不符合规则也可以提交数据成功 

<script>
//给form表单绑定提交事件
        document.getElementById("register").onsubmit=function(){
            //三个框只要有一个非法就组织表单提交
            return checkPassword()&&checkTel()&&checkUsername();
        }
</script>

说明:onsubmit的匿名函数返回false就不提交数据

结果:有一个不符合,就不提交数据

说明:全部符合,才提交数据

浏览器debug

1.在页面打开控制台

2.打开源代码 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1676541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

凸优化理论学习三|凸优化问题(一)

系列文章目录 凸优化理论学习一|最优化及凸集的基本概念 凸优化理论学习二|凸函数及其相关概念 文章目录 系列文章目录一、优化问题&#xff08;一&#xff09;标准形式的优化问题&#xff08;二&#xff09;可行点和最优点&#xff08;三&#xff09;局部最优点&#xff08;四…

【万字面试题】Redis

文章目录 常见面试题布隆过滤器原理和数据结构&#xff1a;特点和应用场景&#xff1a;缺点和注意事项&#xff1a;在python中使用布隆过滤器 三种数据删除策略LRU (Least Recently Used)工作原理&#xff1a;应用场景&#xff1a; LFU (Least Frequently Used)工作原理&#x…

振弦式应变计的灵敏系数k范围探讨

振弦式应变计是一种广泛应用于工程结构健康监测的重要设备&#xff0c;其灵敏系数k是衡量其性能的关键指标。本文将探讨振弦式应变计的灵敏系数k的一般范围&#xff0c;并分析影响灵敏系数的因素。 一、振弦式应变计的工作原理 振弦式应变计通过测量振弦在受力作用下的振动频率…

屡被约谈的货拉拉三闯IPO,CEO周胜馥IPO前套现11亿

近日&#xff0c;货运巨头货拉拉第三次闯关IPO。虽然其实现首次年度盈利&#xff0c;但光鲜数据背后的盈利模式却频遭诟病。 货拉拉的创始人周胜馥从美国高校毕业后&#xff0c;曾供职于贝恩咨询公司&#xff0c;并在期间对创业产生了浓厚兴趣。抛开履历中的高学历好工作的部分…

Amesim基础篇-表格类型设置与读取

前言 在Amesim仿真中,不可避免需要应用到表格。如新能源动力电池中内阻、充电倍率的调取,压缩机的机械效率、容积效率等,水泵的效率,管路的压降等等。本文将介绍如何对表格类型的选择与参数输入。 1 进入表格设置界面 如下图所示,在Amesim界面的右上角Table Editor进入…

EEL中 python端的函数名是如何传递给js端的

python端的函数名是如何传递给js端的 核心步骤&#xff1a;将函数名列表注入到动态生成的 eel.js 中&#xff0c;这样前端一开始引用的eel.js本身已经包含有py_function的函数名列表了。你打开开发者工具看看浏览器中的 eel.js文件源代码就知道了。 具体实现&#xff1a; # 读…

使用 Flask Blueprint 实现模块化 Web 应用

文章目录 1. 什么是 Flask Blueprint&#xff1f;2. 为什么要使用 Flask Blueprint&#xff1f;3. 如何使用 Flask Blueprint&#xff1f;4. 在 Blueprint 之间进行通信5. 结合 Flask 插件系统进行功能拓展结语 当构建大型 Flask Web 应用时&#xff0c;保持代码的组织结构清晰…

etcd单机部署和集群部署

1、etcd单实例部署 对于平常的学习&#xff0c;其实搭建一个单机节点是够了的。接下来就讲讲怎么搭建单机节点。 本次部署是在 centos7 系统&#xff0c;cpu 为amd64 上面进行的。 部署是直接使用官方编译好的二进制文件&#xff0c;大家也可以直接看 ectd-releases 界面选择…

linux 环境下 分布式文件搭建fastDFS

1.软件信息 地址&#xff1a;happyfish100 (YuQing) GitHub 1.fastdfs-master.zip 2.fastdfs-nginx-module-master.zip 3.libfastcommon-master.zip 4.libserverframe-master.zip yum install make cmake gcc gcc-c perl 2.安装libfastcommon unzip libfastcommon-mast…

CPU利用率使用教程

本文主要参考&#xff1a; 一文让你学到 nmon最详尽的用法 Linux性能监控命令_nmon 安装与使用 如果你是在Ubuntu上安装nmon&#xff0c;使用&#xff1a; apt install nmon安装好后&#xff0c;直接运行 $:nmon #运行如果是后台抓数据&#xff1a; -f 参数: 生成文件,文件…

北京玻色量子携手赛氪网举办长三角高校数学建模竞赛巡回讲座

2024年5月13日下午&#xff0c;一场聚焦数学建模与量子计算前沿的讲座在中国计量大学隆重举行。此次讲座作为第四届长三角高校数学建模竞赛的巡回宣讲活动之一&#xff0c;由北京玻色量子科技有限公司与竞赛组委会成员赛氪网共同举办&#xff0c;旨在向广大师生介绍量子计算的应…

企业如何利用美国多IP服务器来提升网站的安全性?

企业如何利用美国多IP服务器来提升网站的安全性? 在当前网络环境下&#xff0c;网站安全性日益成为企业面临的重要挑战。为了有效应对各种潜在威胁&#xff0c;越来越多的企业选择利用美国多IP服务器来提升其网站的安全性。这种服务器配置能够通过一系列策略来增加网站的安全…

滚珠螺杆在精密机械设备中如何维持精度要求?

滚珠螺杆在精密设备领域中的运用非常之广泛&#xff0c;具有精度高、效率高的特点。为了确保滚珠螺杆在生产设备中能够发挥最佳性能&#xff0c;我们必须从多个维度进行深入考量&#xff0c;并采取针对性的措施&#xff0c;以确保其稳定、精准地服务于现代化生产的每一个环节。…

基于springboot的医护人员排班系统

springboot002基于springboot的医护人员排班系统 亲测完美运行带论文&#xff1a;获取源码&#xff0c;私信评论或者v:niliuapp 运行视频 包含的文件列表&#xff08;含论文&#xff09; 数据库脚本&#xff1a;db.sql论文&#xff1a;开题报告springboot002基于springboot…

nginx 发布静态资源

一. nginx 发布静态资源 在nginx中nginx.conf配置文件中添加内容如下&#xff1a; server {listen 90;server_name localhost;# 配置静态资源文件&#xff0c;就可以访问了location / {root /home/fooie-shop;index index.html;}# 配置音频和图片资源location /imoo…

Compose容器编排示例

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录如下&#xff1a; 一、从源代码开始构建、部署和管理应用程序 1.1、创建项目目录并准备应用程序的代码及其依赖 1.2、创建Dockerfile 1.3、在…

宝塔历史版本离线包下载(附详细教程)

宝塔离线版下载&#xff1a;宝塔离线版安装包 宝塔面板5.X版本升级最新版出错&#xff0c;导致宝塔面板无法使用&#xff0c;可以参考下离线包安装处理&#xff0c;这教程分享的是原理仅供有技术的人参考&#xff0c;小白也可以学习&#xff0c;进行操作前记得做好备份切记&am…

CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!

CodeGeeX是支持适配Visual Studio 2019的唯一一款国产智能辅助编程工具&#xff0c;已经在Visual Studio趋势上霸榜2周&#xff01; CodeGeeX v1.0.4版本上线Visual Studio插件市场&#xff0c;带来了多项新功能和性能优化&#xff0c;提升编程体验。 新功能亮点速览&#xf…

求学生平均成绩(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//声明平均数函数average; float average(float score[10]);int main() {//初始化变量值&#xff1b;float score[10], aver;int i 0;//填充数组&#xff1b;pr…

前端已死? Bootstrap--JS-jQuery

目录 Bootstrap--JS-jQuery 1 jQuery基础 介绍 基础语法&#xff1a; $(selector).action() 1.1 安装jQuery 地址 基础语法&#xff1a; $(selector).action() 2 jQuery事件 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。 jQuery常用事件 2.1 鼠标事件…