JS实现注册界面表单校验

下面是JS实现注册界面表单校验的完整攻略:

步骤一:准备工作

在HTML页面中创建一个表单,表单中包含各种需要验证的输入框,例如:用户名、密码、邮箱等。给表单中的输入框设置相应的属性(例如:name、id、required等),方便JavaScript代码获取和操作。

步骤二:编写JavaScript代码

1. 获取表单元素

在JavaScript中通过document.getElementById()获取表单元素,例如:

let form = document.getElementById('registerForm');
let usernameInput = document.getElementById('username');
let passwordInput = document.getElementById('password');
let emailInput = document.getElementById('email');

2. 创建验证函数

根据输入框的要求,编写相应的验证函数,例如:

function checkUsername() {
  let username = usernameInput.value.trim();
  let usernameError = document.getElementById('usernameError');
  if (username.length < 6 || username.length > 12) {
    usernameError.innerHTML = '用户名长度必须为6-12个字符';
    return false;
  } else {
    usernameError.innerHTML = '';
    return true;
  }
}

function checkPassword() {
  let password = passwordInput.value.trim();
  let passwordError = document.getElementById('passwordError');
  if (password.length < 6 || password.length > 16) {
    passwordError.innerHTML = '密码长度必须为6-16个字符';
    return false;
  } else {
    passwordError.innerHTML = '';
    return true;
  }
}

function checkEmail() {
  let email = emailInput.value.trim();
  let emailError = document.getElementById('emailError');
  let emailReg = /^\w+@[a-z0-9]+\.[a-z]{2,4}$/;
  if (!emailReg.test(email)) {
    emailError.innerHTML = '邮箱格式不正确';
    return false;
  } else {
    emailError.innerHTML = '';
    return true;
  }
}

3. 绑定事件

在表单元素上绑定相应的事件(例如:inputblurfocus等),使得在输入框内容改变、失去焦点或获得焦点时都能够自动触发验证函数。

usernameInput.addEventListener('blur', checkUsername);
passwordInput.addEventListener('blur', checkPassword);
emailInput.addEventListener('blur', checkEmail);

4. 提交表单

在表单提交时,对所有的输入框进行验证,并根据返回值判断是否允许表单提交。

form.addEventListener('submit', function(event) {
  if (!(checkUsername() && checkPassword() && checkEmail())) {
    event.preventDefault();
  }
});

示例说明

示例一

假设需要对一个长度为6-12的用户名进行验证,代码如下:

<input type="text" id="username" name="username" required>
<span id="usernameError" class="error"></span>

JavaScript代码如下:

function checkUsername() {
  let username = usernameInput.value.trim();
  let usernameError = document.getElementById('usernameError');
  if (username.length < 6 || username.length > 12) {
    usernameError.innerHTML = '用户名长度必须为6-12个字符';
    return false;
  } else {
    usernameError.innerHTML = '';
    return true;
  }
}

let usernameInput = document.getElementById('username');
usernameInput.addEventListener('blur', checkUsername);

当输入框失去焦点时,会自动触发验证函数checkUsername(),如果输入框中的用户名长度小于6或大于12,会在页面上显示错误提示信息。

示例二

假设需要对一个邮箱地址进行验证,代码如下:

<input type="email" id="email" name="email" required>
<span id="emailError" class="error"></span>

JavaScript代码如下:

function checkEmail() {
  let email = emailInput.value.trim();
  let emailError = document.getElementById('emailError');
  let emailReg = /^\w+@[a-z0-9]+\.[a-z]{2,4}$/;
  if (!emailReg.test(email)) {
    emailError.innerHTML = '邮箱格式不正确';
    return false;
  } else {
    emailError.innerHTML = '';
    return true;
  }
}

let emailInput = document.getElementById('email');
emailInput.addEventListener('blur', checkEmail);

当输入框失去焦点时,会自动触发验证函数checkEmail(),如果输入框中的邮箱地址格式不符合要求(例如:缺少@符号、缺少域名等),会在页面上显示错误提示信息。

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

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

相关文章

  • js中script的上下放置区别,Dom的增删改创建操作实例分析

    JavaScript中,标签可以放在HTML文档中的和标签中。但不同的放置区域会对脚本的使用产生影响。 script的上下放置区别 放在标签中 当脚本代码放在标签中时,它的作用域是全局的,也就是说,它可以在HTML文档中的任何部分被访问到,包括标签中和标签中。 <!DOCTYPE html> <html> <head> &…

    JavaScript 2023年6月10日
    00
  • JS实现密码框效果

    JS实现密码框效果的攻略如下: 1. HTML结构 密码框是一个input标签,需要添加type为password的属性,如下: <input type="password" id="password-input"> 2. JS处理 2.1 获取输入框 首先需要获取到输入框的DOM元素,这里我们使用docu…

    JavaScript 2023年6月10日
    00
  • JavaScript 事件冒泡简介及应用

    JavaScript 事件冒泡简介及应用 事件冒泡是指在 HTML 的 DOM 树结构中,当某个元素触发了一个事件后,它会向父元素逐层传递,直至到达文档根节点。这种事件传递方式被称为事件冒泡。 冒泡机制的触发方式 当一个元素触发一个事件时,事件将从触发元素开始,然后向上冒泡到它的父元素,父元素的父元素,依此类推,直到冒泡到文档中的根元素为止。整个过程称为事件…

    JavaScript 2023年6月10日
    00
  • js解析与序列化json数据(三)json的解析探讨

    JS解析与序列化JSON数据 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。JSON是JavaScript原生支持的格式之一,可以通过JavaScript中内置的 JSON 对象直接进行解析和生成。 本文将主要讨论如何解析和序列化 JSON 数据,涉及的主要内容…

    JavaScript 2023年5月27日
    00
  • js实现数组转树示例

    下面是详细讲解“JS实现数组转树示例”的攻略: 什么是数组转树 数组转树是将一个平铺的数组转换成一颗树形结构,该过程通常用于前端渲染树形结构。通常一个具有父子关系的数据明显都有一个parent和children属性,通常这种结构主要应用于分类、目录等有层级结构的数据类型中,例如文件夹、部门机构等。对于这种关系型结构数据,前后端常用的数据传输包括json格式和…

    JavaScript 2023年5月27日
    00
  • JS扩展String.prototype.format字符串拼接的功能

    JS中,我们可以使用String.prototype.format方法实现字符串拼接的功能,该方法会把预定义的占位符替换成提供的相应参数,生成新的字符串。具体步骤如下: 定义一个模板字符串,里面可以包含预定义的占位符(如{0}、{1}、{2}等)。 使用format方法,把替换参数作为函数的参数传入方法里面,例如:模板字符串.format(参数1, 参数2,…

    JavaScript 2023年5月28日
    00
  • es6新特性之 class 基本用法解析

    “es6新特性之 class 基本用法解析”是用于Javascript语言中的类定义机制。下面详细讲解class基本用法解析,包括类的定义、继承、静态方法、getters/setters等。 1.类定义 ES6的类定义机制为Javascript中引入了面向对象编程的思想,具有类似其他面向对象语言的类定义能力。通过这种方式,可以将代码分解为类,类似于函数定义的…

    JavaScript 2023年6月11日
    00
  • input禁止键盘及中文输入,但可以点击

    要实现input禁止键盘及中文输入,但可以点击的效果,需要使用HTML标签和JavaScript语言。下面是具体的实现步骤: HTML标签部分 在HTML标签中,需要给input标签添加readonly和onfocus两个属性。readonly属性可以让input禁止键盘输入,onfocus属性可以在输入框被点击时触发相应的JavaScript函数。具体代码…

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