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

本文共 2769 字,大约阅读时间需要 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 的环境变量: 开发环境vs生产环境
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>
    NodeJs——(11)控制权转移next
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    nodejs下的express安装
    查看>>
    nodejs与javascript中的aes加密
    查看>>
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>
    nodejs中express的使用
    查看>>
    Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>
    NodeJs入门知识
    查看>>
    nodejs包管理工具对比:npm、Yarn、cnpm、npx
    查看>>
    NodeJs单元测试之 API性能测试
    查看>>
    nodejs图片转换字节保存
    查看>>