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

yizhihongxing

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函数定义方法实例详解

    JavaScript函数定义方法实例详解 在JavaScript中,函数是一种重要的编程概念。函数能够帮助我们将代码组织得更好、复用性更高,并且能够进一步实现更为复杂的功能。下面将详细讲解JavaScript函数定义的多种方法。 1.函数声明 函数声明是一种最经典的JavaScript函数定义方式。 function add(a, b) { return a…

    JavaScript 2023年6月10日
    00
  • 深入浅析JavaScript中的作用域和上下文

    标题:深入浅析JavaScript中的作用域和上下文 一、作用域 作用域是指在代码中定义变量的区域,规定了变量的有效范围和可访问性。JavaScript 中有两种作用域:全局作用域和局部作用域。 1.1 全局作用域 以 var 关键字定义的全局变量,其作用域是整个 JavaScript 代码块。可以在任何位置调用这个全局变量。 var globalVaria…

    JavaScript 2023年6月10日
    00
  • js四舍五入数学函数round使用实例

    关于 JavaScript 中四舍五入数学函数 round() 的使用实例,这里提供一份完整攻略: round() 函数简介 round() 函数是 JavaScript 内置的一个数学函数,用于四舍五入取整。该函数可以接收一个数值类型的参数,并返回一个整数。 语法结构如下: Math.round(x) 其中,参数 x 是需要进行四舍五入取整的数值。 使用实…

    JavaScript 2023年5月27日
    00
  • javascript动画对象支持加速、减速、缓入、缓出的实现代码

    实现JavaScript动画对象支持加速、减速、缓入、缓出的过程基本分为以下几个步骤: 定义动画对象,设置初始值和目标值 设置动画的持续时间、缓动方式等参数 在动画前缓存当前状态 执行动画过程,不断更新当前状态 到达目标值后停止动画 下面详细介绍一下每个步骤 1. 定义动画对象 定义动画对象可以使用原生Javascript实现,例如: var element…

    JavaScript 2023年6月10日
    00
  • 一文让你快速了解JavaScript栈

    随着前端技术的不断发展,JavaScript已经成为一种非常重要的编程语言。为了让大家更好地理解JavaScript的运行机制,我准备了一篇文章,希望能够帮助大家快速了解JavaScript栈。 什么是JavaScript栈 JavaScript栈是指一种数据结构,它被用来存储函数调用时的上下文信息。每一次函数调用,JavaScript都会把该函数的上下文信…

    JavaScript 2023年5月18日
    00
  • JSP清除页面缓存常用方法小结

    JSP清除页面缓存常用方法小结 在JSP页面开发的过程中,我们有时会遇到页面缓存的问题。也就是说,我们修改了JSP页面的代码,但打开网页时,发现更改并没有生效。这是因为浏览器会缓存已下载的页面内容。那么,如何清除JSP页面的缓存呢?下面是常用的方法: 1. 通过设置HTTP响应头来禁用浏览器缓存 可以在 JSP 页面中添加以下代码: <% respon…

    JavaScript 2023年6月11日
    00
  • JS立即执行函数功能与用法分析

    下面是关于JS立即执行函数功能与用法分析的完整攻略。 一、什么是立即执行函数 立即执行函数(Immediately Invoked Function Expression, IIFE)是函数表达式的一种形式,它可以在定义后直接调用执行,不需要进行额外的函数调用。通常使用括号将函数表达式包裹起来,然后在最后加上一个括号,用于立即执行该函数。 代码示例: (fu…

    JavaScript 2023年6月11日
    00
  • Js遍历键值对形式对象或Map形式的方法

    当我们需要遍历键值对形式的对象或Map时,可以使用JavaScript中的for…in循环和forEach方法。 for…in循环 for…in循环可以遍历对象和Map中的所有键值对,格式如下: for(var key in obj/map) { // 对每个键值对进行操作 } 其中,key是对象/Map中的每个键,obj/map是我们需要遍历的…

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