JavaScript表单验证完美代码

yizhihongxing

下面是详细讲解 JavaScript 表单验证完美代码的攻略。

什么是 JavaScript 表单验证?

JavaScript 表单验证是指利用 JavaScript 编写代码,对用户在表单中输入的数据进行校验。表单验证的目的在于防止用户误输入或恶意输入,确保表单提交的数据格式正确,并提升数据的安全性。

JavaScript 表单验证代码的编写步骤

在进行 JavaScript 表单验证的代码编写时,一般需要按照以下步骤进行:

  1. 获取表单元素:使用 JavaScript 中的 DOM 操作方法根据表单元素的名称或 ID 获取表单元素对象。
  2. 绑定事件监听器:使用 addEventListener() 或 on 进行事件的绑定,当用户提交表单时触发事件。
  3. 编写验证函数:编写验证函数,对表单中的数据进行校验。在验证前,需要对表单数据进行初步的格式化转换。
  4. 显示提示信息:验证函数返回 false 时,在页面中显示相应的提示信息。如果校验通过,则返回 true。
  5. 提交表单或清空表单:如果校验通过,使用 JavaScript 中的 submit() 方法提交表单,否则清空表单并保留错误提示信息。

JavaScript 表单验证完美代码示例

以下是 JavaScript 表单验证完美代码的示例:

示例 1

const form = document.querySelector('#form');
form.addEventListener('submit', function(event) {
  event.preventDefault();
  if (validateForm()) {
    form.submit();
  }
});

function validateForm() {
  const email = document.querySelector('#email');
  const password = document.querySelector('#password');
  const confirmPassword = document.querySelector('#confirm-password');

  if (email.value.trim() === '') {
    email.nextElementSibling.textContent = '邮箱不能为空';
    return false;
  } else if (!isValidEmail(email.value)) {
    email.nextElementSibling.textContent = '请输入正确的邮箱格式';
    return false;
  }

  if (password.value.trim() === '') {
    password.nextElementSibling.textContent = '密码不能为空';
    return false;
  }

  if (confirmPassword.value.trim() === '') {
    confirmPassword.nextElementSibling.textContent = '确认密码不能为空';
    return false;
  } else if (confirmPassword.value !== password.value) {
    confirmPassword.nextElementSibling.textContent = '两次输入的密码不一致';
    return false;
  }

  return true;
}

function isValidEmail(email) {
  const emailRegex = /^\w+@[a-zA-z0-9]+\.[a-zA-Z]{2,4}$/;
  return emailRegex.test(email);
}

以上示例中,我们使用 DOM 操作方法获取表单元素对象,并使用 addEventListener() 方法绑定表单的 submit 事件。在 validateForm() 函数中,我们通过判断表单中各项输入的值是否符合特定条件进行校验。如果校验不通过,我们则使用 nextElementSibling 属性选中下一个兄弟元素节点,并在其文本内容中显示对应的错误提示消息。最后,如果表单数据校验成功,则可以使用 submit() 方法提交表单。

示例 2

const form = document.querySelector('#form');
form.addEventListener('submit', function(event) {
  event.preventDefault();
  if (validateForm()) {
    form.submit();
  }
});

function validateForm() {
  const username = document.querySelector('#username');
  const age = document.querySelector('#age');
  const email = document.querySelector('#email');
  const password = document.querySelector('#password');
  const confirmPassword = document.querySelector('#confirm-password');

  const errorMessage = document.querySelector('#error-message');

  let isValid = true;

  if (username.value.trim() === '') {
    errorMessage.textContent = '用户名不能为空';
    isValid = false;
  }

  if (isNaN(age.value) || parseInt(age.value) < 10 || parseInt(age.value) > 60) {
    errorMessage.textContent = '年龄必须在10~60岁之间';
    isValid = false;
  }

  if (email.value.trim() === '') {
    errorMessage.textContent = '邮箱不能为空';
    isValid = false;
  } else if (!isValidEmail(email.value)) {
    errorMessage.textContent = '请输入正确的邮箱格式';
    isValid = false;
  }

  if (password.value.trim() === '') {
    errorMessage.textContent = '密码不能为空';
    isValid = false;
  }

  if (confirmPassword.value.trim() === '') {
    errorMessage.textContent = '确认密码不能为空';
    isValid = false;
  } else if (confirmPassword.value !== password.value) {
    errorMessage.textContent = '两次输入的密码不一致';
    isValid = false;
  }

  return isValid;
}

function isValidEmail(email) {
  const emailRegex = /^\w+@[a-zA-z0-9]+\.[a-zA-Z]{2,4}$/;
  return emailRegex.test(email);
}

在以上示例中,我们在表单验证的基础上,增加了一个用于在页面中显示错误提示消息的元素,并添加了一个 name 为“age”的年龄输入框。在 validateForm() 函数中,我们对年龄输入框进行了验证,确保其在 10~60 岁之间。最后,我们只有在所有的表单项都通过校验才返回 true,否则显示相应的错误提示消息。

总结

JavaScript 表单验证是 Web 应用程序开发中非常重要的一环。如果没有正确的表单验证代码,在用户输入提交数据后,数据的安全性和准确性无法得到保障。编写 JavaScript 表单验证代码的过程中,我们需要遵循特定的验证流程,实现相应的功能模块。本文提供了两个 JavaScript 表单验证完美代码的示例,供读者参考。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript表单验证完美代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • vue组件中实现嵌套子组件案例

    Vue组件是实现可重用性和封装性的关键,并且Vue允许您嵌套组件和在组件中使用子组件。下面是实现嵌套子组件的完整攻略: 创建子组件 首先,需要创建子组件,通常是通过定义一个Vue组件,在template代码块中编写HTML模板,以及在script代码块中编写相关的逻辑代码。 下面是一个示例子组件的代码: <template> <div&gt…

    JavaScript 2023年6月11日
    00
  • Json字符串转换为JS对象的高效方法实例

    下面是“Json字符串转换为JS对象的高效方法实例”的完整攻略: 1. 使用JSON.parse()方法 在JavaScript中,我们可以使用JSON.parse()方法将JSON字符串转换为JS对象。这个方法非常简单,只需要将JSON字符串作为参数传递进去,就可以得到对应的JS对象。 例如,假设我们有一个JSON字符串: var jsonString =…

    JavaScript 2023年5月27日
    00
  • 详解Bootstrap创建表单的三种格式(一)

    我可以给你详细讲解一下“详解Bootstrap创建表单的三种格式(一)”的完整攻略。 标题 首先,我们需要了解Bootstrap是什么以及它的作用。Bootstrap是Twitter公司开源的一款前端开发框架,主要用于快速实现响应式布局和美化各类界面。特别是在表单的开发中,它们的优势会显得更加明显。Bootstrap提供了三种创建表单的格式,接下来分别进行详…

    JavaScript 2023年6月10日
    00
  • laydate.js日期时间选择插件

    “laydate.js日期时间选择插件”是一个常用的JavaScript插件,它可以方便地帮助用户在网页上进行日期和时间的选择。 以下是关于怎样在网页上使用”laydate.js日期时间选择插件”的详细攻略: 安装 在使用”laydate.js日期时间选择插件”之前,需要先将它安装到网页中。有两种方式可以安装该插件: 通过CDN引入。使用该方式只需引入以下代…

    JavaScript 2023年5月27日
    00
  • vscode中vue-cli项目es-lint的配置方法

    下面是详细讲解“vscode中vue-cli项目es-lint的配置方法”的完整攻略: 1. 安装ESLint 首先请确保你的vscode里已经安装了 ESLint 插件,如果没有安装可以在插件市场中搜索并进行安装。ESLint 是 Javascript 的语法规范,可以用于代码的静态检查,还可以进行代码风格的约束。ESLint还支持vue、react等框架…

    JavaScript 2023年6月11日
    00
  • JQuery 获取json数据$.getJSON方法的实例代码

    获取JSON数据是Web开发中常见的操作之一,JQuery库提供了方便的$.getJSON方法来获取JSON数据。下面将为您介绍如何使用$.getJSON方法来获取JSON数据。 引入JQuery库 在使用$.getJSON方法之前,需要先将JQuery库引入到你的HTML文档中。可以通过使用CDN或下载JQuery库本地引入。 <!– 使用CDN引…

    JavaScript 2023年5月27日
    00
  • js获取日期:昨天今天和明天、后天

    获取日期是 JavaScript 中比较常见的操作。为了方便地获取昨天、今天、明天、后天等日期信息,可以使用 JavaScript 的 Date 对象自带的方法来实现。 以下是获取昨天、今天、明天和后天日期的完整攻略。 获取当前日期 首先需要获取当前日期,可以使用 JavaScript 中的 Date 对象,使用 new Date() 方式来创建一个 Dat…

    JavaScript 2023年5月27日
    00
  • JS 操作Array数组的方法及属性实例解析

    JS 操作Array数组的方法及属性实例解析 在JavaScript中,数组(Array)是一种非常常见的数据结构,它能够存储多个值,并且可以动态地添加、删除、修改元素。本文将详细讲解JavaScript中操作Array数组的方法及属性。 创建数组 在JavaScript中,可以使用[]或new Array()两种语法创建一个数组。其中,[]更为常见。 //…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部