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 添加千分位与去掉千分位的示例
Jul 11 Javascript
使用CSS3的scale实现网页整体缩放
Mar 18 Javascript
浅谈javascript 归并方法
Jan 21 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
Jul 21 Javascript
JavaScript的jQuery库中function的存在和参数问题
Aug 13 Javascript
vue实现仿淘宝结账页面实例代码
Nov 08 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 jQuery
微信小程序模板(template)使用详解
Jan 31 Javascript
vue实现组件之间传值功能示例
Jul 13 Javascript
Vue中的v-for循环key属性注意事项小结
Aug 12 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
Jun 04 Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 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错误机制知识汇总
2016/03/24 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
js获取div高度的代码
2008/08/09 Javascript
jQuery生成asp.net服务器控件的代码
2010/02/04 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
javascript的函数作用域
2014/11/12 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
15分钟上手vue3.0(小结)
2020/05/20 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
python选择排序算法实例总结
2015/07/01 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
俄罗斯女装店:12storeez
2019/10/25 全球购物
英文简历中的自荐信范文
2013/12/14 职场文书
失业者真诚求职信范文
2013/12/25 职场文书
竞选部长演讲稿
2014/04/26 职场文书
关于旅游的活动方案
2014/08/15 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
新学期家长寄语2016
2015/12/03 职场文书
创业计划书之家教中心
2019/09/25 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
Java spring定时任务详解
2021/10/05 Java/Android
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS