JS实现表单验证案例

JS实现表单验证是前端开发中经常用到的技术,可有效防止用户提交无效或不完整的数据。下面是一些实现表单验证的技巧。

第一步:获取表单元素

在JS中,使用DOM API获取表单元素非常简单。首先得到表单元素本身,然后可以通过表单的表单元素来访问表单元素。例如:

const form = document.querySelector('form');
const emailInput = form.querySelector('input[type="email"]');

从这里可以看到,第一行代码获取了一个具有“form”标记的元素(表单),而第二行代码获取了一个“email”输入字段。

第二步:验证输入

输入数据验证的方式有很多,常见的包括正则表达式、验证函数以及HTML5表单验证。以下是一个使用HTML5验证属性的例子:

<form>
  <label for="email">Email:</label>
  <input type="email" id="email" name="email" required>
  <button type="submit">Submit</button>
</form>

这里我们使用了“required”属性,它指示该字段是必须的。如果用户未输入任何内容,则会显示一个“Please fill out this field”消息。

第三步:防止表单提交

最后,必须添加防止表单提交的代码。通常,这会在JavaScript中完成,在“提交”按钮上注册事件监听器,以便在用户单击提交按钮时验证表单的输入并防止提交。例如:

const form = document.querySelector('form');
const emailInput = form.querySelector('input[type="email"]');

form.addEventListener('submit', function(event) {
  if (!emailInput.checkValidity()) {
    event.preventDefault();
    // 提示用户输入正确的Email
  }
});

当表单被提交时,检查“email”字段的有效性。如果该输入无效,则防止表单提交。

示例:验证电话号码

下面是一个例子,用JavaScript验证一个电话号码的格式是否正确。假设我们有一个输入字段“phone”,它的id是“phone”。

<form>
  <label for="phone">Phone:</label>
  <input type="tel" id="phone" name="phone">
  <button type="submit">Submit</button>
</form>
const form = document.querySelector('form');
const phoneInput = form.querySelector('#phone');

form.addEventListener('submit', function(event) {
  const isValidPhoneNumber = /^(\+)?\d{7,15}$/.test(phoneInput.value);
  if (!isValidPhoneNumber) {
    event.preventDefault();
    alert('Please enter a valid phone number.');
  }
});

在这个JavaScript代码中,我们首先得到了表单元素和输入元素。然后,通过用正则表达式验证输入来检查电话号码是否正确。如果电话号码无效,则阻止表单提交并显示错误消息。

示例:验证密码

下一个例子是一个密码验证。我们有一个输入字段“password”,以及一个确认密码“confirm-password”字段,两个输入都必须填写且匹配才能成功提交表单。

首先,让我们看看HTML代码:

<form>
  <label for="password">Password:</label>
  <input type="password" id="password" name="password">
  <label for="confirm-password">Confirm Password:</label>
  <input type="password" id="confirm-password" name="confirm-password">
  <button type="submit">Submit</button>
</form>

接下来,JavaScript代码验证这些输入:

const form = document.querySelector('form');
const passwordInput = form.querySelector('#password');
const confirmPasswordInput = form.querySelector('#confirm-password');

form.addEventListener('submit', function(event) {
  const isValidPassword = /^.{6,}$/.test(passwordInput.value);
  if (!isValidPassword) {
    event.preventDefault();
    alert('Password must be at least 6 characters long.');
    return;
  }

  if (passwordInput.value !== confirmPasswordInput.value) {
    event.preventDefault();
    alert('Passwords do not match.');
  }
});

在这个代码中,我们使用第一个正则表达式验证密码必须至少包含6个字符。如果该检查失败,则阻止表单提交并显示错误消息。否则,代码检查“密码”和“确认密码”是否相同。如果这些输入不同,则阻止表单提交并显示错误消息。

需要注意的是,在提交表单之前,需要检查所有输入是否有效,并在发现任何无效输入时阻止表单提交。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现表单验证案例 - Python技术站

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

相关文章

  • javascript学习笔记之10个原生技巧

    Javascript学习笔记之10个原生技巧 简介 这篇学习笔记将会介绍10个用Javascript技巧的原生方法。这些方法将会帮助你提高你的Javascript编程能力,让你写出简单、优雅、高效的代码。 1. 使用 Array.map() 进行数组的元素转换 Array.map() 方法可以将一个数组的所有元素都通过一个提供的函数进行转换。它不会改变原来的…

    JavaScript 2023年5月18日
    00
  • json对象与数组以及转换成js对象的简单实现方法

    下面是关于“json对象与数组以及转换成js对象的简单实现方法”的完整攻略: 1. 什么是JSON JSON,全称是JavaScript Object Notation,是一种轻量级的数据交换格式。它基于JavaScript语法的子集,包括对象、数组、字符串、数字、布尔值和null。 JSON被广泛应用于Web应用程序和API中,是一种常用的数据交换格式。现…

    JavaScript 2023年5月27日
    00
  • Javascript模块化编程(一)AMD规范(规范使用模块)

    那我来为您详细讲解JavaScript模块化编程(一)AMD规范(规范使用模块)的完整攻略。 简介 AMD规范(Asynchronous Module Definition)是一种针对JavaScript模块化编程的规范,它最先由Dojo Toolkit和RequireJS推广。 在AMD规范中,每个模块发起一个异步请求,等模块加载成功后再执行后续操作。因为…

    JavaScript 2023年5月28日
    00
  • JS的时间格式化和时间戳转换函数示例详解

    本文主要讲解JavaScript中的时间格式化和时间戳转换函数,主要包含以下内容: JavaScript中时间的基本概念和表示方法 时间格式化函数的基本思路和常见的格式化形式 时间戳转换函数的基本思路和实现方法 基于moment.js的时间格式化和转换示例 自定义时间格式化和转换函数的实现示例 1. JavaScript中时间的基本概念和表示方法 在Java…

    JavaScript 2023年5月27日
    00
  • js实现表单检测及表单提示的方法

    当我们在网站中设计表单时,为了确保用户的信息填写的准确性,我们需要用JavaScript来实现表单检测及表单提示。下面我将详细介绍JS实现表单检测及表单提示的方法,包括表单验证、错误提示、表单提交等重要细节。同时提供两条示例说明进行阐述。 表单验证 表单验证是验证用户提交表单数据的过程,用于确保表单数据的安全性和正确性。表单验证规则可以针对表单字段的数据类型…

    JavaScript 2023年6月10日
    00
  • JavaScript之数组扁平化详解

    JavaScript之数组扁平化详解 什么是数组扁平化 数组扁平化是指将一个嵌套多层的多维数组变成一个一维数组的过程。例如,将一个三维数组 [[[1, 2], [3, 4]], [[5, 6], [7, 8]]] 扁平化后得到的是一个一维数组 [1, 2, 3, 4, 5, 6, 7, 8]。 实现方法 方法一:使用递归实现 首先,我们可以使用递归的方式来实…

    JavaScript 2023年5月27日
    00
  • 原生js操作checkbox用document.getElementById实现

    原生JS操作checkbox用document.getElementById实现的步骤如下: 1.在HTML页面中添加checkbox元素: <input type="checkbox" id="myCheckbox">My Checkbox</input> 2.在JS文件中使用document…

    JavaScript 2023年6月10日
    00
  • 通过JavaScript下载文件到本地的方法(单文件)

    以下是通过JavaScript下载文件到本地的方法的完整攻略: 标准的下载方法 通过标准的HTML a标签和download属性可以实现文件的下载。该属性用于指定资源的下载地址,将会生成一个下载的链接。 <a href="文件地址" download="文件名">下载文件</a> 其中,href…

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