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 相关文章推荐
基于node.js的快速开发透明代理
Dec 25 Javascript
用js模拟struts2的多action调用示例
May 19 Javascript
php,js,css字符串截取的办法集锦
Sep 26 Javascript
JQuery动态添加和删除表格行的方法
Mar 09 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
Sep 14 Javascript
jQuery实现三级菜单的代码
May 09 Javascript
适用于手机端的jQuery图片滑块动画
Dec 09 Javascript
webpack项目轻松混用css module的方法
Jun 12 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
微信小程序支付前端源码
Aug 29 Javascript
浅谈Webpack核心模块tapable解析
Sep 11 Javascript
Vue中对iframe实现keep alive无刷新的方法
Jul 23 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 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
php实现的验证码文件类实例
2015/06/18 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
2015/07/01 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
才发现的超链接js导致网页中GIF动画停止的解决方法
2007/11/02 Javascript
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
canvas绘制多边形
2017/02/24 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
详解Django 时间与时区设置问题
2019/07/23 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
Holiday Inn中国官网:IHG旗下假日酒店预订
2018/04/08 全球购物
美国手机支架公司:PopSockets
2019/11/27 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
夜大毕业生自我鉴定
2013/10/31 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
股权转让协议书
2014/12/07 职场文书
小学体育组工作总结
2015/08/13 职场文书
Python中文纠错的简单实现
2021/07/07 Python
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS