JS 表单验证

news2024/11/25 18:37:15

点击注册的时候,渲染出来,验证码是自动获取出来的

html:

 <div class="div1">
        用户名<input type="text" id="yhm"><span id="span1"></span><br>
        密码<input type="password" id="mm"><span id="span2"></span><br>
        Email<input type="email" id="ema"><span id="span3"></span><br>
        手机号<input type="text" id="sjh"><span id="span4"></span><br>
        验证码<input type="text" id="yzm" maxlength="4"><span id="span5"></span><br>
        <button id="btn">注册</button>
    </div>
    <p id="p1"></p>

script:

<script>
        // 用户名验证
        document.getElementById("yhm").addEventListener("blur", function () {
            var username = this.value;
            var spanElement = document.getElementById("span1");
            var usernameRegex = /^[a-zA-Z0-9]{3,6}$/;

            if (usernameRegex.test(username)) {
                spanElement.innerHTML = '√';
            } else {
                spanElement.innerHTML = '×';
            }
        });

        // 密码验证
        document.getElementById("mm").addEventListener("blur", function () {
            var password = this.value;
            var spanElement = document.getElementById("span2");

            if (password.length >= 6 && password.length <= 16) {
                spanElement.innerHTML = '√';
            } else {
                spanElement.innerHTML = '×';
            }
        });

        // Email验证
        document.getElementById("ema").addEventListener("blur", function () {
            var email = this.value;
            var spanElement = document.getElementById("span3");
            var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

            if (emailRegex.test(email)) {
                spanElement.innerHTML = '√';
            } else {
                spanElement.innerHTML = '×';
            }
        });

        // 手机号验证
        document.getElementById("sjh").addEventListener("blur", function () {
            var phoneNumber = this.value;
            var spanElement = document.getElementById("span4");
            var phoneRegex = /^1\d{10}$/;

            if (phoneRegex.test(phoneNumber)) {
                spanElement.innerHTML = '√';
            } else {
                spanElement.innerHTML = '×';
            }
        });
        // 生成验证码
        function generateCaptcha() {
            var captcha = "";
            var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
            for (var i = 0; i < 4; i++) {
                captcha += characters.charAt(Math.floor(Math.random() * characters.length));
            }
            return captcha;
        }

        // 显示验证码
        document.getElementById("yzm").value = generateCaptcha();

        // 注册按钮点击事件
        document.getElementById("btn").addEventListener("click", function () {
            var p1Element = document.getElementById("p1");
            var yhmInput = document.getElementById("yhm").value;
            var mmInput = document.getElementById("mm").value;
            var emaInput = document.getElementById("ema").value;
            var sjhInput = document.getElementById("sjh").value;
            var yzmInput = document.getElementById("yzm").value;

            p1Element.innerHTML = "用户名:" + yhmInput + "<br>" +
                "密码:" + mmInput + "<br>" +
                "Email:" + emaInput + "<br>" +
                "手机号:" + sjhInput + "<br>" +
                "验证码:" + yzmInput;
        });

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

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

相关文章

mysql 查询变量@i:=@i+1

学习完mysql的查询&#xff1a;基本查询&#xff0c;连接查询和子查询和mysql 正则表达式查询&#xff0c;接下来先学习下变量查询。 mysql中没有oracle序列号那一列。mysql可以使用查询变量的方式去处理。我们先了解下查询变量&#xff0c;后面应用起来就更清晰。 1&#xff0…

【科东软件】鸿道Intewell-Lin_V2.2.0 软件版本发布

鸿道操作系统 Intewell-Lin_V2.2.0 软件版本发布 Intewell-Lin_V2.2.0 版本号&#xff1a;V2.2.0 版本或修改说明 增加功能&#xff1a; 1、增加T3板级支持 支持硬件列表

深入探索实时音视频技术:RTC程序设计权威指南

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

2024年32款数据分析工具分五大类总览

数据分析工具在现代商业和科学中扮演着不可或缺的角色&#xff0c;为组织和个人提供了深入洞察和明智决策的能力。这些工具不仅能够处理大规模的数据集&#xff0c;还能通过强大的分析和可视化功能揭示隐藏在数据背后的模式和趋势。数据分析工具软件主要可以划分为以下五个类别…

网络与通信-路由协议及基础配置

网络协议之路由协议 静态路由&#xff1a; 明细静态 默认静态 动态路由&#xff1a;&#xff08;可以自动去环&#xff09; RIP 十几台或几十台 &#xff08;维护上一代人搭建的网络&#xff09; OSPF 300台 &#xff08;最短路径算法&#xff09; ISIS 1200台 BGP…

深度学习500问——Chapter06: 循环神经网络(RNN)(2)

文章目录 6.4 CNN和RNN的区别 6.5 RNNs与FNNs有什么区别 6.6 RNNs训练和传统ANN训练异同点 6.7 为什么RNN训练的时候Loss波动很大 6.8 标准RNN前向输出流程 6.9 BPTT算法推导 6.9 RNN中为什么会出现梯度消失 6.10 如何解决RNN中的梯度消失问题 6.4 CNN和RNN的区别 类别特点描述…

主流三种驱动器方案特点简介

三种执行器原理相似&#xff0c;但在结构和部件上略有区别&#xff0c;因此在精度、响应速度等指标上 呈现不同效果&#xff1a; &#xff08;1&#xff09;TSA&#xff08;刚性驱动器&#xff09;&#xff1a;常规高速电机高传动比减速机高刚度力矩传感器&#xff0c;减 速机…

【Spring Cloud】服务容错中间件Sentinel入门

文章目录 什么是 SentinelSentinel 具有以下特征&#xff1a;Sentinel分为两个部分: 安装 Sentinel 控制台下载jar包&#xff0c;解压到文件夹启动控制台访问了解控制台的使用原理 微服务集成 Sentinel添加依赖增加配置测试用例编写启动程序 实现接口限流总结 欢迎来到阿Q社区 …

【QingHub】QingHub Studio企业级应用开发管理

QingHub Studio企业级应用开发设计器是QingHub Studio的一个核心模块&#xff0c;它可以实现应用搭建、团队管理&#xff0c;共享开发&#xff0c;可以快速接入API接口&#xff0c;复杂功能可以通过自定义脚本快速实现业务逻辑。打通前端开发与后台业务逻辑一体化。通过可视化的…

Vue - 2( 10000 字 Vue 入门级教程)

一&#xff1a;初识 Vue 1.1 绑定样式 1.1.1 绑定 class 样式 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>绑定样式</title><style>......</style><script type"text/javascript"…

【六 (3)机器学习-机器学习建模步骤/kaggle房价回归实战】

目录 文章导航一、确定问题和目标&#xff1a;1、业务需求分析&#xff1a;2、问题定义&#xff1a;3、目标设定&#xff1a;4、数据可行性评估&#xff1a;5、资源评估&#xff1a;6、风险评估&#xff1a; 二、数据收集&#xff1a;1、明确数据需求2、选择数据来源3、考虑数据…

uniapp在发行原始云打包ios时提示私钥证书不是有效的p12文件

uniapp在发行原始云打包ios时提示私钥证书不是有效的p12文件 解决方法&#xff1a; 经过我多次的创建p12证书文件&#xff0c;然后更换设备继续创建&#xff0c;仍然存在这个问题&#xff0c;通过排查不是.p12的本身的问题&#xff0c;而是命名的问题&#xff0c;命名不能是中…

你真的了解区块链游戏吗?

随着区块链技术的不断发展和普及&#xff0c;越来越多的人开始关注区块链游戏这一新兴领域。然而&#xff0c;很多人对于区块链游戏的了解仅限于一些表面的概念和特点&#xff0c;真正深入了解的人并不多。那么&#xff0c;你真的了解区块链游戏吗&#xff1f; 首先&#xff0…

外包干了25天,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入杭州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

状态模式(行为型)

目录 一、前言 二、状态模式 三、总结 一、前言 状态模式(State Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许一个对象在其内部状态改变时改变它的行为。对象看起来好像修改了它的类&#xff0c;但实际上&#xff0c;由于状态模式的引入&#xff0c;行为的变…

DOM对象(Document Object Model 文档对象模型)

目录 1、什么是DOM 1&#xff09;是一个标准 2&#xff09;是一个对象 2、原理及作用 3、Element元素的获取方法 4、方法使用举例 修改页面内容 1&#xff09;获取DOM元素 2&#xff09;修改元素内容 3&#xff09;修改元素属性 4&#xff09;添加和删除元素 5、应…

电脑硬盘分区表的两种格式:MBR 和 GPT

电脑硬盘分区表的两种格式&#xff1a;MBR 和 GPT 段子手168 2024-4-5 电脑硬盘分区表有两种格式&#xff1a;MBR 和 GPT&#xff1a; 一、MBR 分区表 1.MBR 是主引导记录 (Master Boot Record) 的英文缩写 在传统&#xff08;Legacy&#xff09;硬盘分区模式中&#xff0c…

春秋之境28512

题目说该CMS的/single.php路径下&#xff0c;id参数存在一个SQL注入漏洞。访问看一下随便点一个图片。 发现了注入点?id 那么开始查看闭合符一个 就报错了 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for th…

这些矛盾点不搞清楚,私域怎么做得起来!

最近不少人都在问&#xff0c;私域做不起来怎么办&#xff1f;有很多企业砸了不少钱&#xff0c;有些还做了好几年&#xff0c;依旧没有起色。 有些企业觉得私域做不起来的阻碍有运营方面的原因&#xff0c;比如文案写不好&#xff0c;社群不知道怎么管理&#xff1b;有团队方…

如何搭建企业级MQ消息集成平台

企业级MQ消息集成平台的重要性在于实现不同系统之间的高效、可靠、实时的消息传递和数据交换。它可以帮助企业实现系统解耦&#xff0c;提高系统的可扩展性和灵活性&#xff0c;降低系统间的依赖性。通过消息队列中间件&#xff0c;企业可以实现异步通信、削峰填谷、流量控制等…