博客
关于我
JavaScript中的DOM对象和表单验证(详解+全代码示例!)
阅读量:154 次
发布时间:2019-02-27

本文共 2785 字,大约阅读时间需要 9 分钟。

HTML DOM与表单验证教程

HTML DOM概述

DOM(Document Object Model,文档对象模型)是描述网页内容的结构化接口。通过DOM,可以用JavaScript对HTML文档中的各个标签进行操作和控制。对于熟悉软件开发的人员而言,DOM可以被视为网页的API,使得JavaScript能够方便地操作和控制网页中的各个元素。

HTML DOM的使用

HTML DOM查找元素

在JavaScript中,为了操作HTML标签,首先需要通过document对象找到目标标签。document对象表示整个HTML文档,已经加载好的网页会自动生成这个对象。

  • 通过id查找元素

    使用document.getElementById("id")方法,可以通过标签的id属性快速找到对应的标签对象。例如:

    var obj = document.getElementById("bt");

    这个方法返回的是一个单一的标签对象。

  • 通过标签名查找元素

    使用document.getElementsByTagName("标签名")方法,可以通过标签的标签名返回所有匹配的标签对象集合。例如:

    var objs = document.getElementsByTagName("input");

    需要注意的是,返回的是一个HTMLCollection对象,无法直接调用方法,必须使用数组方式操作。例如:

    objs[0].style.backgroundColor = "red";
  • 通过类名查找元素

    使用document.getElementsByClassName("类名")方法,可以通过标签的class属性返回所有匹配的标签对象集合。例如:

    var objs = document.getElementsByClassName("c1");

    返回的是一个HTMLCollection对象,同样需要使用数组方式操作。

  • 通过name属性查找元素

    使用document.getElementsByName("name")方法,可以通过标签的name属性返回所有匹配的标签对象集合。例如:

    var objs = document.getElementsByName("socre");
  • HTML DOM改变HTML

    改变HTML标签属性

    通过document.getElementById("id").属性 = "属性值"的方式,可以改变标签的属性。例如,通过document.body.bgColor可以改变页面的背景颜色。

    修改HTML标签的内容

    HTML标签的内容可以通过innerHTMLinnerText属性来修改。innerHTML属性返回并修改标签内的全部 HTML 内容,包括子标签和文本;innerText属性仅返回并修改标签内的文本内容,不包括子标签。

  • 使用innerHTML修改内容

    例如:

    var div1 = document.getElementById("div1");
    div1.innerHTML = "修改后的内容";
  • 使用innerText修改内容

    例如:

    var div2 = document.getElementById("div2");
    div2.innerText = div1.innerText;
  • HTML DOM对事件的操作

    HTML DOM使JavaScript能够响应HTML事件。通过绑定事件处理函数,可以实现对页面交互的操作。

  • 绑定事件处理函数

    使用obj.事件名称 =函数的方式可以将函数与事件绑定。例如:

    document.getElementById("btn").onclick = function() {
    console.log("按钮被点击");
    };
  • 事件处理函数的执行顺序

    确保<script>标签放在需要处理事件的标签之前,或者使用onload事件来确保标签加载后再执行绑定函数。

  • 表单验证

    为什么要进行表单验证?

    表单验证可以减少后端服务器的负担,避免不正确数据的传输。通过在前端对用户输入的数据进行验证,可以提高用户体验和数据安全性。

    表单验证的示例

  • onsubmit事件
    使用form.onsubmit事件来验证表单数据。例如:
    form.onsubmit = function() {
    var account = document.getElementById("accountId").value;
    var pw = document.getElementById("pwId").value;
    if (account.length === 0) {
    alert("请输入用户名");
    return false;
    }
    if (pw.length === 0 || pw.length > 16) {
    alert("密码越界");
    return false;
    }
    return true;
    };
  • 正则表达式

    正则表达式概述

    正则表达式(Regular Expression,简称RegExp)是一种强大的字符串匹配工具,用于描述字符模式。通过正则表达式可以对输入数据进行验证,确保数据格式符合要求。

    正则表达式符号

  • ^:匹配字符串的开头。
  • $:匹配字符串的结尾。
  • *:前面的字符零次或多次出现。
  • +:前面的字符一次或多次出现。
  • {n}:前面的字符恰好出现n次。
  • {n,m}:前面的字符至少出现n次,最多出现m次。
  • .:匹配任意单个字符。
  • \d:匹配数字字符(等价于 [0-9])。
  • \D:匹配非数字字符(等价于 [^0-9])。
  • [a-z]:匹配小写字母a到z。
  • [A-Z]:匹配大写字母A到Z。
  • [^a-z]:匹配非小写字母字符。
  • x|y:匹配x或y。
  • \w:匹配字母、数字和下划线(等价于 [A-Z,a-z,0-9,_])。
  • \W:匹配非字母、非数字和非下划线字符(等价于 [^A-Z,a-z,0-9,_])。
  • [^\u4e00-\u9fa5]:匹配非中文字符。
  • 正则表达式示例

  • 验证是否为数字:
    var reg = /^\d+$/;
  • 验证是否为小写字母:
    var reg = /^[a-z]+$/;
  • 验证是否为中文字符:
    var reg = /^[\u4e00-\u9fa5]{2,10}$/;
  • 验证是否为邮箱格式:
    var reg = /^[a-zA-Z0-9_.+-]+@([a-zA-Z0-9-]+)\.([a-zA-Z0-9-]+)\.[a-zA-Z0-9-]+$/;
  • 通过以上方法,可以在表单输入中添加验证功能,确保数据的准确性和合法性。

    转载地址:http://ecfd.baihongyu.com/

    你可能感兴趣的文章
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>
    NodeMCU教程 http请求获取Json中文乱码解决方案
    查看>>
    Nodemon 深入解析与使用
    查看>>
    NodeSession:高效且灵活的Node.js会话管理工具
    查看>>
    node~ http缓存
    查看>>
    node不是内部命令时配置node环境变量
    查看>>
    node中fs模块之文件操作
    查看>>
    Node中同步与异步的方式读取文件
    查看>>
    node中的get请求和post请求的不同操作【node学习第五篇】
    查看>>
    Node中的Http模块和Url模块的使用
    查看>>
    Node中自启动工具supervisor的使用
    查看>>
    Node入门之创建第一个HelloNode
    查看>>
    node全局对象 文件系统
    查看>>
    Node出错导致运行崩溃的解决方案
    查看>>
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装卸载linux,Linux运维知识之linux 卸载安装node npm
    查看>>
    node安装及配置之windows版
    查看>>