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 相关文章推荐
THREE.JS入门教程(6)创建自己的全景图实现步骤
Jan 25 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
Mar 25 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
May 01 Javascript
Egret引擎开发指南之运行项目
Sep 03 Javascript
jQuery类选择器用法实例
Dec 23 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
Feb 06 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
Feb 28 Javascript
BootstrapValidator超详细教程(推荐)
Dec 07 Javascript
JavaScript实现的select点菜功能示例
Jan 16 Javascript
vue小图标favicon不显示的解决方案
Sep 19 Javascript
vue项目中引入noVNC远程桌面的方法
Mar 05 Javascript
对于防止按钮重复点击的尝试详解
Apr 22 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中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
php计算年龄精准到年月日
2015/11/17 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
php中错误处理操作实例分析
2019/08/23 PHP
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
Django基于ORM操作数据库的方法详解
2018/03/27 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
Python中的元组介绍
2019/01/28 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
css3动画效果抖动解决方法
2018/09/03 HTML / CSS
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
年终总结会议主持词
2014/03/17 职场文书
婚前协议书范本
2014/04/15 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
2014年材料员工作总结
2014/11/19 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js