工作中常用到的JS表单验证代码(包括例子)

让我们来详细讲解一下工作中常用到的JS表单验证代码。

1. 前言

在现代Web应用程序中,表单是非常重要的一部分。表单的验证是保证用户数据输入的准确性和安全性的重要手段之一。JavaScript的表单验证是一种常见的方式,能够迅速的检测并提示用户错误输入信息。

2. 表单验证的基本原则

在讲解具体的JS表单验证代码之前,我们先来了解一下表单验证的基本原则。

  • 必填项验证:表单中的必填项必须填写正确的信息,否则需要进行提示。
  • 长度验证:表单中输入的字符数量需要满足特定的范围,例如密码长度需要在6-20之间等等。
  • 格式验证:表单的输入需要符合特定的格式要求,例如手机号码只能输入数字,Email需要包含@符号等等。
  • 数据类型验证:表单中的数字或日期等需要保证类型正确,例如出生日期需要是时间类型,年龄需要是数字类型等等。
  • 一致性验证:表单中的内容需要与其它的表单项保持一致,例如两次密码输入需要一致。

3. 常用表单验证代码示例

下面将通过两个常用的表单验证代码示例来展示如何在实际开发中使用JS实现表单验证的功能。

示例1:密码必须包含数字和字母

<form id="registerForm">
  <div>
    <label for="username">用户名:</label>
    <input type="text" id="username" name="username"/>
  </div>
  <div>
    <label for="password">密码:</label>
    <input type="password" id="password" name="password"/>
  </div>
  <div>
    <label for="password-confirm">确认密码:</label>
    <input type="password" id="password-confirm" name="password-confirm"/>
  </div>
  <button type="submit">注册</button>
</form>
document.querySelector('#registerForm').addEventListener('submit', function(event) {
  event.preventDefault();

  const username = document.querySelector('#username').value.trim();
  const password = document.querySelector('#password').value.trim();
  const confirmPassword = document.querySelector('#password-confirm').value.trim();

  if (!username) {
    alert('用户名不能为空');
    return;
  }

  if (!password) {
    alert('密码不能为空');
    return;
  }

  if (password.length < 6 || password.length > 20) {
    alert('密码长度需要在6-20之间');
    return;
  }

  if (!/^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]/.test(password)) {
    alert('密码必须包含数字和字母');
    return;
  }

  if (password !== confirmPassword) {
    alert('确认密码需要与密码一致');
    return;
  }

  alert('注册成功');
});

在上面的示例中,我们通过针对表单的ID值和判断submit表单事件的方式获取了表单中的用户名、密码、确认密码等参数,然后分别进行了必填项验证、格式验证、长度验证等操作。其中,检测密码是否包含数字和字母这一部分使用了正则表达式进行了实现。

示例2:邮箱验证

<form id="subscribeForm">
  <div>
    <label for="email">邮箱地址:</label>
    <input type="text" id="email" name="email" />
  </div>
  <button type="submit">订阅</button>
</form>
document.querySelector('#subscribeForm').addEventListener('submit', function(event) {
  event.preventDefault();

  const email = document.querySelector('#email').value.trim();

  if (!email) {
    alert('请输入正确的邮箱地址');
    return;
  }

  if (!/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(email)) {
    alert('邮箱格式不正确');
    return;
  }

  alert('感谢您的订阅');
});

在上面示例中,我们先获取了表单中的邮箱地址,并进行了必填项验证和格式验证,这里使用了常见的邮箱地址正则表达式验证方式,验证通过后则进行提交动作。

4. 总结

通过上述两个示例,我们了解了JS实现表单验证的基本思路和常用代码技巧。在实际开发过程中,需要针对具体的表单验证需求进行相应的代码编写。当然,还有很多其它的表单验证场景需要我们去思考,例如验证码的实现、分组表单的验证等等。我们需要不断的学习和实践,才能编写出更加健壮可靠的表单验证代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:工作中常用到的JS表单验证代码(包括例子) - Python技术站

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

相关文章

  • JavaScript高级程序设计 事件学习笔记

    《JavaScript高级程序设计》事件学习笔记 什么是事件? 事件是指在网页中发生的交互的行为,比如页面的加载、点击按钮、鼠标滚动等,这些行为就是事件。 事件监听器 事件监听器是用来监听特定事件并处理事件的函数。可以通过给元素添加事件监听器来创建响应用户操作的交互式网页。 在 JavaScript 中,我们可以使用 addEventListener() 方…

    JavaScript 2023年5月27日
    00
  • javascript 数组排序函数sort和reverse使用介绍

    当我们需要对 JavaScript 数组进行排序时,可以使用数组排序函数 sort() 和 reverse()。本文将详细介绍这两个函数的使用方法。 sort() 函数 sort() 函数用于对数组进行排序,默认按照字母顺序排序,但也可以针对数字或其他数据类型进行排序。sort() 函数可接受一个排序函数作为参数,该函数将指定排序方式。 以下是一些常见的排序…

    JavaScript 2023年5月27日
    00
  • TS 导入导出那些事

    前言 最近用 TypeScript 写 npm 包,各种模块、命名空间、全局定义等等扰得我睡不着觉。 我便苦心研究,总结了几个比较冷门的,国内貌似基本上找不到资料的导入导出用法,顺便在其中又插入一些不那么冷门的用法,于是本篇文章来了。 因为一开始也没想做成大全,可能之后还会继续更新吧。 目录 导入模块 在模块中导出 导入命名空间 在命名空间中导出 使用全局定…

    JavaScript 2023年4月17日
    00
  • javaScript(JS)替换节点实现思路介绍

    JavaScript(JS)替换节点实现思路介绍 在网页开发过程中,替换节点是常见的操作之一。JavaScript提供了一种简单而有效的替换节点的方式。本文将介绍如何使用JS替换节点,包括如何获取节点,创建新节点,替换原有节点以及如何进行实际操作。 获取节点 在JS中,可以使用document.getElementById()来获取指定id的节点。例如: c…

    JavaScript 2023年6月10日
    00
  • js跨域请求数据的3种常用的方法

    下面是详细讲解”js跨域请求数据的3种常用的方法”的攻略: 1. 跨域请求数据的背景 在Web开发的过程中,经常会遇到需要通过js代码来请求数据的情况。我们知道,由于同源策略(Same-origin policy)的限制,不同源(域)之间的js代码请求是受限制的。跨域请求数据就是在解决这个限制的前提下来实现的。 2. 跨域请求数据的3种常用的方法 2.1 J…

    JavaScript 2023年5月27日
    00
  • JavaScript调试技巧之console.log()详解

    JavaScript调试技巧之console.log()详解 什么是console.log()? console.log()是JavaScript内置的一种调试技巧,它可以将指定的消息输出到浏览器的控制台(Console)上。其中“log”是“日志”的意思,所以console.log()可以理解为输出日志信息。 使用console.log()可以输出Java…

    JavaScript 2023年5月28日
    00
  • 基于Next.js实现在线Excel的详细代码

    关于“基于Next.js实现在线Excel的详细代码”的攻略,以下是我可以提供的详细过程: 第一步:安装Next.js 为了实现在线Excel,我们需要安装依赖包Next.js。可以通过npm命令进行安装: npm install next react react-dom 第二步:创建页面 创建一个名为pages/index.js的文件,这将是我们应用程序的…

    JavaScript 2023年6月11日
    00
  • JavaScript中更安全的URL读写方法总结

    JavaScript中更安全的URL读写方法总结 URL是Web中不可或缺的部分。在JavaScript中,我们需要处理一个或多个URL,例如从URL中获取参数值、进行跳转等。然而,URL操作过程中安全性问题也非常重要。以下是一些更安全的URL读写方法。 URL编码/解码 当我们想在URL中传递一些数据时,可能会遇到不安全的字符,例如空格、#、&等。…

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