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 相关文章推荐
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
Jun 27 Javascript
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
jquery数组之存放checkbox全选值示例代码
Dec 20 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
浅谈JavaScript 标准对象
Jun 02 Javascript
jquery删除数组中重复元素
Dec 05 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
Vue.js实现分页查询功能
Nov 15 Javascript
React Native日期时间选择组件的示例代码
Apr 27 Javascript
Next.js实现react服务器端渲染的方法示例
Jan 06 Javascript
javascript Canvas动态粒子连线
Jan 01 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
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
php中的三元运算符使用说明
2011/07/03 PHP
php中实现简单的ACL 完结篇
2011/09/07 PHP
百度地图API使用方法详解
2015/08/25 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
js 数组克隆方法 小结
2010/03/20 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
python获取糗百图片代码实例
2013/12/18 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Python实现数据结构线性链表(单链表)算法示例
2019/05/04 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
PHP统计代码行数的小代码
2019/09/19 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
Django 解决由save方法引发的错误
2020/05/21 Python
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
社会实践自我鉴定
2013/11/07 职场文书
自荐书模板
2013/12/19 职场文书
大学生实习证明范本
2014/01/15 职场文书
军训拉歌口号
2014/06/13 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
入股协议书范本
2014/11/01 职场文书
推荐信范文大全
2015/03/27 职场文书