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 相关文章推荐
关于ExtJS4.1:快捷键支持的问题
Apr 24 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
Mar 04 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
Aug 20 Javascript
表单验证插件Validation应用的实例讲解
Oct 10 Javascript
javascript从定义到执行 你不知道的那些事
Jan 04 Javascript
JS未跨域操作iframe里的DOM
Jun 01 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
Dec 18 Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
Mar 04 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 Javascript
微信小程序实现留言板
Oct 31 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
Mar 06 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面向对象的使用教程 简单数据库连接
2006/11/25 PHP
一些PHP写的小东西
2006/12/06 PHP
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
2015/03/04 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
如何开启linux的ssh服务
2013/06/03 面试题
出纳员岗位职责
2014/03/13 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
四年级学生评语大全
2014/04/21 职场文书
市场调查策划方案
2014/06/10 职场文书
企业读书活动总结
2014/06/30 职场文书
安全演讲稿开场白
2014/08/25 职场文书
《别在吃苦的年纪选择安逸》读后感3篇
2019/11/30 职场文书
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫