JavaScript实现表单验证功能


Posted in Javascript onDecember 09, 2020

本文实例为大家分享了JavaScript实现表单验证功能的具体代码,供大家参考,具体内容如下

以下是JavaScript的表单验证功能,可根据JS代码编写出你想要的HTML和CSS的代码。

关于正则表达式的使用,以及常用的正则表达式,笔者目前还在整理中,后期整理完成后,会将链接放在下面,供大家一起学习。

//1.声明变量
var emailObj;
var usernameObj;
var passwordObj;
var confirmObj;
var emailMsg;
var usernameMsg;
var passwordMsg;
var confirmMsg;
//页面加载之后,获取页面中的对象
window.onload = function() {
  emailObj = document.getElementById("email");
  usernameObj = document.getElementById("username");
  passwordObj = document.getElementById("password");
  confirmObj = document.getElementById("confirm");
  emailMsg = document.getElementById("emaileMsg");
  usernameMsg = document.getElementById("usernameMsg");
  confirmMsg = document.getElementById("confirmMsg");
};
//3.检验整个表单
function checkForm() {
  var bEmail = checkEmail();
  var bUsername = checkUsername();
  var bPassword = checkPassword();
  var bConfirm = checkCondfirm();
  return bUsername && bPassword && bConfirm && bEmail;
}
//4.验证邮箱
function checkEmail() {
  var regex = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
  var value = emailObj.value;
  var msg = "";
  if(!value) {
    msg = "邮箱必须填写";
  } else if (!regex.test(value)) {
    msg = "邮箱格式不合法";
  }
  emailMsg.innerHTML = msg;
  emailObj.parentNode.parentNode.style.color = msg == ""?"black":"red";
  return msg == "";
}
//5.验证用户名‘
function checkUsername() {
  var regex = /^[a-zA-Z0-9_-]\w{0,9}$/;  //字母数字下划线1-10位,不能是数字开头
  var value = usernameObj.value;     //获取usernameObj中的文本
  var msg = "";              //最后的提示小事,默认为空
  //如果用户名是null或"",!value的值为false,如果不为空 !value值为true
  if(!value) {
    msg = "用户名必须填写";
  } else if (regex.test(value)) {
    msg = "用户名不合法";
  }
  usernameMsg.innerHTML = msg;
  usernameObj.parentNode.parentNode.style.color = msg == ""?"black":"red";
  return msg == "";            //如果提示消息为空则代表没出错,返回true
}
//6.验证密码
function checkPassword() {
  var regex = /^.{6,16}$/;      //任意字符,6-16位
  var value = passwordObj.value;
  var msg = "";
  if(!value) {
    msg = "密码必须填写";
  } else if (!regex.test(value)) {
    msg = "密码不合法";
  }
  passwordMsg.parentNode.parentNode.style.color = msg == ""?"black":"red";
  return msg == "";
}
//7.验证确认密码
function checkCondfirm() {
  var passwordValue = passwordObj.value;
  var confirmValue = confirmObj.value;
  var msg = "";
  if(!confirmValue) {
    msg = "确认密码填写";
  } else if (passwordValue != confirmValue) {
    msg = "密码必须保持一致";
  confirmMsg.innerHTML = msg;
  confirmObj.parentNode.parentNode.style.color = msg == ""?"black":"red";
  return msg == "";
}

以下代码是简单的测试邮箱是否匹配成功的代码,可根据下面来实现具体的逻辑

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <input type="text" placeholder="请输入邮箱" id="email">
</body>
<script>
 email.onchange = function(){
 var email = this.value;
 var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
 if(reg.test(email)){
  alert("邮箱格式正确");
 }else{
  alert("邮箱格式不正确");
 }
 }
</script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js兼容标准的表格变色效果
Jun 28 Javascript
图片自动缩小 点击放大
Jul 07 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Oct 20 Javascript
JSP跨iframe如何传递参数实现代码
Sep 21 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
Jan 13 Javascript
jQuery实现复选框成对选择及对应取消的方法
Mar 03 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
Sep 10 Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 Javascript
Angular.js如何从PHP读取后台数据
Mar 24 Javascript
sea.js常用的api简易文档
Nov 15 Javascript
VUE使用vuex解决模块间传值问题的方法
Jun 01 Javascript
在Vue mounted方法中使用data变量详解
Nov 05 Javascript
element中Steps步骤条和Tabs标签页关联的解决
Dec 08 #Javascript
javascript全局自定义鼠标右键菜单
Dec 08 #Javascript
javascript局部自定义鼠标右键菜单
Dec 08 #Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 #Javascript
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 #Vue.js
vue添加自定义右键菜单的完整实例
Dec 08 #Vue.js
vue中如何自定义右键菜单详解
Dec 08 #Vue.js
You might like
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
python Django框架实现自定义表单提交
2016/03/25 Python
Python实现新浪博客备份的方法
2016/04/27 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
Python装饰器基础概念与用法详解
2018/12/22 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
python 递归相关知识总结
2021/03/03 Python
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
教师申诉制度
2014/01/29 职场文书
期末学生评语大全
2014/04/24 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
交通安全温馨提示语
2015/07/14 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js
Pygame Draw绘图函数的具体使用
2021/11/17 Python
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android