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下with 的简化代码写法

    JavaScript 中的 with 语句可以用来将一个对象作为上下文,从而可以在代码中不用重复输入该对象的属性名来访问属性值。但是,在实际应用中,使用 with 语句存在一些潜在的问题,可能会导致代码难以维护,而且会降低代码的性能。因此,推荐使用 with 语句的简化代码写法。 with 语句的基本使用 with 语句的基本语法如下: with (obje…

    JavaScript 2023年6月10日
    00
  • 深入了解JavaScript的逻辑运算符(与、或)

    深入了解 JavaScript 的逻辑运算符(与、或) JavaScript 中的逻辑运算符有两种:与(&&)和或(||)。通常使用这两个运算符会返回 true 或 false 值,用于判断条件语句的真假。这里将对这两种运算符进行更加深入的讲解,包括它们的原理、使用场景、实际应用等。 1. 与(&&)运算符 1.1. 原理 与…

    JavaScript 2023年5月28日
    00
  • 在页面加载之后执行JavaScript

    在页面加载之后执行JavaScript通常包括以下两种情况: 在DOMContentLoaded事件触发之后执行JavaScript代码 DOMContentLoaded事件在文档结构已经加载完成,但是加载的所有资源(例如图片)还没有完成的时候触发。可以使用addEventListener()方法监听DOMContentLoaded事件,并在回调函数中执行J…

    JavaScript 2023年6月11日
    00
  • 从URL中提取参数与将对象转换为URL查询参数的实现代码

    从URL中提取参数的实现代码 通过JavaScript代码解析URL获取参数是一种很常见的操作,我们可以通过以下操作来提取URL中的参数: 1.使用window.location.search获取查询字符串部分,该部分包含了所有请求参数。例如,我们可以使用以下代码来获取URL地址中的search字符串: let searchStr = window.loca…

    JavaScript 2023年6月11日
    00
  • 如何使用浏览器扩展篡改网页中的JS 文件

    使用浏览器扩展篡改网页中的JS文件可以用于修改网页一些不符合个人需求的行为,比如阅读模式、去广告、页面美化等。下面是详细的攻略步骤: 步骤一:安装浏览器扩展 首先需要在浏览器的应用商店中搜索安装一个支持JS代码注入的浏览器扩展。不同浏览器扩展功能不完全相同,例如Chrome浏览器可以安装“Tampermonkey”、Firefox浏览器可以安装“Grease…

    JavaScript 2023年5月27日
    00
  • JavaScript数组对象赋值用法实例

    JavaScript数组对象是一种常用的数据类型,用于存储一组数据。数组对象可以通过赋值来进行初始化和修改。本文将详细讲解JavaScript数组对象赋值用法实例。 数组对象初始化赋值 数组对象可以通过以下两种方式进行初始化赋值: 方式一:使用字面量形式初始化数组对象 字面量形式是一种直接赋值的方式,比较简单方便,如下所示: var arr = [1, 2,…

    JavaScript 2023年5月27日
    00
  • 原生js实现日期选择插件

    关于“原生js实现日期选择插件”的攻略,我将从以下几个方面进行讲解。 一、日期选择插件基本功能 实现日期选择插件,首先需要了解它应该有哪些基本功能。通常包括以下几点: 显示当前日期,包括年、月、日; 能够选择特定日期,比如通过点击日历中的某个日期; 支持日期区间选择,即可以设置一个起始日期和一个结束日期; 根据日期变动显示对应的日历。 二、实现方式分析 日期…

    JavaScript 2023年5月27日
    00
  • 浅谈javascript的分号的使用

    浅谈JavaScript的分号的使用 JavaScript中分号是一种用于声明语句或代码块结束的标记符,它在语言语法中的作用是使代码更加稳定。但是在一些情况下使用分号是可选的。下面我们将会详细讲述该问题。 建议使用分号 在大多数情况下,建议使用分号来结尾语句。 例如: 示例1 function test() { var a = 3 var b = 4 ret…

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