首页 > 编程语言 >javaScript学习笔记

javaScript学习笔记

时间:2024-03-29 20:22:22浏览次数:31  
标签:username onblur 用户名 javaScript checkUserName 笔记 学习 usernameInput document

关于表单验证的简单实践
注意点:
  1.函数的使用
  如果在script中需要调用某个function,例如checkUserName(),请确保在定义该函数时的写法为
 usernameInput.onblur = checkUserName;
        function checkUserName() {

  如果写成

usernameInput.onblur = function checkUserName() {,
则无法调用他
  2.document.方法使用
  注意区分html中各个元素的name,id,class属性,一般用document.getElementById()获取单个特定对象,尽量不要使用name,class。
  区分document.getElementsByName(),它多带了一个s,很容易写错。另外还有document.getElementsByClassName()和
document.getElementsByTagName()。写错时很难检查。可以在网页中用检查代码功能中的console里查看错误信息
 
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>表单验证</title>
</head>

<body>
    <form action="#" id="for1" align="center" method="GET">
        <h2>欢迎注册</h2>
        <h4>已有账号,登录</h4>
        用户名:<input type="text" name="tex1" id="username"><br>
        <span id="username_err" class="err_msg" style="display: none">用户名格式错误</span><br>
        密码:<input type="password" name="tex2" id="password"><br>
        <span id="password_err" class="err_msg" style="display: none">密码格式错误</span><br>
        手机号:<input type="text" name="tex3" id="tel"><br>
        <span id="tel_err" class="err_msg" style="display: none">密码格式错误</span><br>
        <input type="submit" value="注册"><br>
        <input type="button" onclick="on()" id="99" value="判断">
    </form>
    <script>
        //1.验证用户名

        //   var usernameInput = document.getElementById("username");
        //1.2 绑定onblur事件 失去焦点
        //   usernameInput.onblur = checkUserName;

        var usernameInput = document.getElementById("username");
        //  alert(usernameInput)
        //2.绑定onblur事件  失去焦点
        usernameInput.onblur = checkUserName;
        function checkUserName() {
            //3.获取用户输入的用户名
            var username = usernameInput.value.trim();
            //4.判断用户名长度是否符合规则
            var flag = username.length >= 6 && username.length <= 12;
            if (flag) {
                //符合规则
                document.getElementById("username_err").style.display = 'none';
            } else {//不符合规则
                document.getElementById("username_err").style.display = '';
            }

            return flag;
        }

        //2.密码提示信息
        var passwordInput = document.getElementById("password");
        //  alert(usernameInput)
        //2.绑定onblur事件  失去焦点
        passwordInput.onblur = checkPassword;
        function checkPassword() {
            //3.获取用户输入的用户名
            var password = passwordInput.value.trim();
            //4.判断用户名长度是否符合规则
            var flag = password.length >= 6 && password.length <= 12;
            if (flag) {
                //符合规则
                document.getElementById("password_err").style.display = 'none';
            } else {//不符合规则
                document.getElementById("password_err").style.display = '';
            }

            return flag;
        }

        var telInput = document.getElementById("tel");
        //  alert(usernameInput)
        //2.绑定onblur事件  失去焦点
        telInput.onblur = checkTel;
        function checkTel() {
            //3.获取用户输入的用户名
            var tel = telInput.value.trim();
            //4.判断用户名长度是否符合规则
            flag = (tel.length == 11);
            if (flag) {
                //符合规则
                document.getElementById("tel_err").style.display = 'none';
            } else {//不符合规则
                document.getElementById("tel_err").style.display = '';
            }

            return flag;
        }

        //4.判断提交表单前是否所有信息都符合规范

        // function on() {
        //     var flag = (checkUserName() && checkPassword() && checkTel());
        //     alert("111");
        //     alert(flag);
        // }

        var regForm = document.getElementById("for1");
        regForm.onsubmit = function checkAll() {
            var flag = (checkUserName() && checkPassword() && checkTel());
            return flag;
        }
    </script>
</body>

</html>

  

 

 

标签:username,onblur,用户名,javaScript,checkUserName,笔记,学习,usernameInput,document
From: https://www.cnblogs.com/lianthankyou/p/18104545

相关文章

  • (day 22)JavaScript学习笔记(内置对象1之Number、Math、Date)
    概述         这是我的学习笔记,记录了JavaScript的学习过程。在写博客的时候我会尽量详尽的记录每个知识点。如果你完全没接触过JavaScript,那么这一系列的学习笔记可能会对你有所帮助。    今天学习JavaScript内置的对象,主要是Number、Math、Date。1.内置......
  • 2.4 比较检验 机器学习
    目录常见比较检验方法总述2.4.1假设检验2.4.2交叉验证T检验2.4.3McNemar检验接我们的上一篇《性能度量》,那么我们在某种度量下取得评估结果后,是否可以直接比较以评判优劣呢?实际上是不可以的。因为我们第一,测试性能不等于泛化性能,第二,测试性能会随着测试集的变化而......
  • 【无人机路径规划】基于深度强化学习的多无人机辅助边缘计算网络路径规划(Matlab代码实
    ......
  • MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
    以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的......
  • golang学习路线
    golang学习路线学习Golang的路线可以分为以下几个阶段:基础语法:了解Golang的基本语法结构,包括变量声明、控制流、函数、指针等。数据类型:熟悉Golang的基本数据类型,如整型、浮点型、字符串、数组、切片、Map等。并发编程:学习Golang的并发编程特性,包括goroutines、channels和互斥......
  • 零基础自学网络安全的三个必经阶段(含学习路线图)
    一、为什么选择网络安全?这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地,网络安全行业地位、薪资随之水涨船高。未来3-5年,是安全行业的黄金发展期,提前踏入行业,能享受行业发展红利。二、为什么说网络安全行......
  • JavaScript代码安全性提升:选择和使用JS混淆工具的指南
    引言在Web开发中,JavaScript是一种常用的脚本语言,然而,由于其代码容易被他人轻易获取和修改,为了保护JavaScript代码的安全性和版权,我们需要使用JS混淆工具。本文将介绍什么是JS混淆工具、为什么要使用以及如何选择合适的JS混淆工具,同时还会列举一些常用的JS混淆工具。 正文什......
  • 一行一行讲解深度学习代码(零)如何利用pytorch搭建一个完整的深度学习项目——深度学习
    本文适合没有基础的pytorch深度学习小白和python基础不太好的同学!!建议有基础的同学不要看~文章目录深度学习项目的大致结构(一)数据集加载1.功能2.工具(1)datasets(2)DataLoader(二)数据预处理1.功能2.工具(1)torchvision.transforms(2)Compose()3.实战(1)定义数据集(2)数据预处理......
  • 五款常用在线JavaScript加密混淆工具详解:jscrambler、JShaman、jsfack、ipaguard和jje
    摘要本篇技术博客将介绍五款常用且好用的在线JavaScript加密混淆工具,包括jscrambler、JShaman、jsfack、freejsobfuscator和jjencode。通过对这些工具的功能及使用方法进行详细解析,帮助开发人员更好地保护和加密其JavaScript代码,提升网站的安全性和保密性。 引言在当今......
  • 优化的层次级联处理-嵌入式深度学习2
    嵌入式深度学习-优化的层次级联处理本系列博客主要以BertMoons《EmbeddedDeepLearning》翻译而成GoetschalckxK,MoonsB,LauwereinsS,AndraudM,VerhelstM(2018)Optimizedhierarchicalcascadedprocessing.IEEEJEmergingSelTopCircuitsSyst.https://doi.o......