JavaScript 基础表单验证示例(纯Js实现)

JavaScript 基础表单验证是前端开发中非常重要的一环,有了良好的表单验证可以避免用户输入错误数据,提高用户体验。本文将详细讲解如何基于纯 JavaScript 实现一个表单验证的示例。

准备工作

在开始之前,需要准备一个基本的 HTML 表单,用于演示验证的过程。我们首先创建一个 index.html 文件,代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>表单验证</title>
    <meta charset="UTF-8">
</head>
<body>
    <form action="" method="POST">
        <label>用户名:</label>
        <input type="text" id="username" name="username"><br>
        <label>密码:</label>
        <input type="password" id="password" name="password"><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

这里创建了一个包含用户名和密码输入框的表单,并有一个提交按钮。接下来我们使用 JavaScript 对这个表单进行验证。

实例一:验证用户名

我们首先来看一个验证用户名的例子。我们需要对用户名进行如下验证:

  • 用户名不能为空
  • 用户名长度在 3 至 10 个字符之间
  • 用户名只能包含字母和数字

我们可以在 JavaScript 中定义如下的验证函数:

function validateUsername() {
    var username = document.getElementById('username').value;
    // 判断用户名是否为空
    if (username == '') {
        alert('用户名不能为空!');
        return false;
    }
    // 判断用户名长度是否在 3 到 10 个字符之间
    if (username.length < 3 || username.length > 10) {
        alert('用户名长度必须在 3 到 10 个字符之间!');
        return false;
    }
    // 判断用户名是否只包含字母和数字
    if (!/^[a-zA-Z0-9]+$/.test(username)) {
        alert('用户名只能包含字母和数字!');
        return false;
    }
    return true;
}

这个函数首先获取用户名的值,然后分别判断是否满足空、长度和格式的校验条件。如果验证失败,就弹出一个提示框,并返回 false 值,表示验证失败;否则返回 true 值,表示验证成功。

我们可以在提交按钮的 onClick 事件上调用这个函数,来验证用户名是否合法。修改 HTML 文件中的代码如下:

<input type="submit" value="提交" onClick="return validateUsername();">

这里要注意,我们在提交按钮的 onClick 事件上调用了 validateUsername() 函数,并使用 return 语句将函数的返回值传递给提交按钮,表示是否允许表单提交。

现在,如果用户名为空、长度不符合要求或不只包含字母和数字,就会弹出相应的提示框,并禁止提交表单。

实例二:验证密码

接下来我们再来看一个验证密码的例子。我们需要对密码进行如下验证:

  • 密码不能为空
  • 密码长度在 6 至 20 个字符之间
  • 密码只能包含字母和数字

我们可以在 JavaScript 中定义如下的验证函数:

function validatePassword() {
    var password = document.getElementById('password').value;
    // 判断密码是否为空
    if (password == '') {
        alert('密码不能为空!');
        return false;
    }
    // 判断密码长度是否在 6 到 20 个字符之间
    if (password.length < 6 || password.length > 20) {
        alert('密码长度必须在 6 到 20 个字符之间!');
        return false;
    }
    // 判断密码是否只包含字母和数字
    if (!/^[a-zA-Z0-9]+$/.test(password)) {
        alert('密码只能包含字母和数字!');
        return false;
    }
    return true;
}

这个函数的实现与验证用户名的函数类似。我们同样可以在提交按钮的 onClick 事件上调用这个函数,来验证密码是否合法。修改 HTML 文件中的代码如下:

<input type="submit" value="提交" onClick="return validatePassword();">

这样,我们就可以通过这两个函数来对表单进行基本的验证了。

总结

本文介绍了如何基于纯 JavaScript 实现一个基础的表单验证。我们以验证用户名和密码为例,演示了如何编写和调用验证函数。实际项目中,我们还可以对表单进行更加复杂的验证,比如验证手机号、邮箱等。在实际开发中,良好的表单验证有助于提高用户体验和减少错误数据的输入,大家可以参考本文实现自己的表单验证组件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 基础表单验证示例(纯Js实现) - Python技术站

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

相关文章

  • 跟我学习javascript的最新标准ES6

    跟我学习JavaScript的最新标准ES6 ES6简介 ES6,全称ECMAScript 6.0,是JavaScript语言的下一个正式版本,于2015年发布。ES6引入了许多新的语法和特性,使开发者们在编写JavaScript代码时更加方便和简单。 下面我们就来看看如何学习ES6。 ES6学习攻略 确认学习环境 在学习ES6之前,你需要确认你的学习环境是…

    JavaScript 2023年5月18日
    00
  • 如何利用Proxy更优雅地处理异常详解

    下面是详细讲解“如何利用Proxy更优雅地处理异常详解”的完整攻略: 标题 如何利用Proxy更优雅地处理异常详解 简介 异常处理是我们编写代码时必须考虑的问题之一。但是,常规的异常处理机制给代码本身带来的负担较高,特别是对于网络请求这种IO密集型的操作。在这种情况下,我们可以考虑使用Proxy来更优雅地处理异常,将异常的处理逻辑与代码解耦,实现更加灵活的控…

    JavaScript 2023年5月28日
    00
  • 两行代码轻松搞定JavaScript日期验证

    以下是详细讲解“两行代码轻松搞定JavaScript日期验证”的完整攻略。 目标 我们的目标是通过JavaScript代码验证用户输入的日期是否符合指定的格式要求。 准备工作 在代码前,我们需要明确一下本次日期验证的需求,即用户输入的日期格式是什么样子的。以“YYYY/MM/DD”的格式为例,此时用户输入的日期应该满足以下要求: 年份必须为4位数,如2021…

    JavaScript 2023年5月27日
    00
  • JavaScript中的getDay()方法使用详解

    根据你的要求,我会用标准的markdown格式文本,为你详细讲解“JavaScript中的getDay()方法使用详解”的完整攻略。 JavaScript中的getDay()方法 在 JavaScript 中,Date 对象有一个 getDay() 方法,该方法用于获取一个星期的第几天,其返回值是一个 0 到 6 的整数,分别对应星期日到星期六。 语法如下:…

    JavaScript 2023年6月10日
    00
  • Vue 滚动行为的具体使用方法

    Vue 滚动行为是一种 Vue Router 的功能,它允许在切换视图时添加页面滚动的行为,从而提升用户体验。以下是使用Vue 滚动行为的具体步骤: 步骤1:为Vue Router安装scrollBehavior插件 首先,在 Vue Router 导出的实例中添加 scrollBehavior 对象,该对象表示滚动行为配置: const router = …

    JavaScript 2023年6月11日
    00
  • JavaScript实现Sleep函数的代码

    我来为你讲解“JavaScript实现Sleep函数的代码”的攻略。 首先需要注意的是,JavaScript是单线程的语言,当执行了某个代码块时,即使后续还有其他代码块也会等待。因此,为了模拟延迟操作,我们需要使用异步代码。 下面给出两种实现“Sleep函数”的方法: 方法一:使用Promise 创建一个函数,在函数内部返回一个Promise实例。 func…

    JavaScript 2023年5月27日
    00
  • ES7之Async/await的使用详解

    ES7之Async/await的使用详解 什么是Async/await Async/await是ES7中引入的一组用于异步操作的新关键字。它们可以让我们更方便、更优雅地处理异步代码,避免了回调地狱(callback hell)的问题。 Async/await的基本用法 要使用Async/await,我们首先需要使用async关键字定义一个异步函数,函数中使用…

    JavaScript 2023年6月10日
    00
  • 使用JavaScript获取电池状态的方法

    获取电池状态是Web开发中比较常见的需求之一,可以通过JavaScript获取电池状态,从而更好地帮助用户管理电池电量。 示例一:使用Battery API获取电池状态 在现代浏览器中,我们可以通过使用Battery API获取电池状态。首先,需要检测浏览器是否支持Battery API: if (‘getBattery’ in navigator) { /…

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