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 相关文章推荐
基于jQuery的表格操作插件
Apr 22 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
Oct 17 Javascript
jQuery插件pagewalkthrough实现引导页效果
Jul 05 Javascript
jquery简单插件制作(fn.extend)完整实例
May 24 Javascript
js和C# 时间日期格式转换的简单实例
May 28 Javascript
AngularJs 动态加载模块和依赖
Sep 15 Javascript
解析微信JS-SDK配置授权,实现分享接口
Dec 09 Javascript
js仿微信抢红包功能
Sep 25 Javascript
基于 Vue 实现一个酷炫的 menu插件
Nov 14 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
vue移动端城市三级联动组件使用详解
Jul 26 Javascript
vue router 传参获取不到的解决方式
Nov 13 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 文本文章分页代码 按标记或长度(不涉及数据库)
2012/06/07 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
2013/05/10 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
微信access_token的获取开发示例
2015/04/16 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
PHP反射基础知识回顾
2020/09/10 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
Python Matplotlib库入门指南
2015/05/18 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
python自动发送测试报告邮件功能的实现
2019/01/22 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
详解Python用户登录接口的方法
2019/04/17 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
python简单实现最大似然估计&amp;scipy库的使用详解
2020/04/15 Python
零基础小白多久能学会python
2020/06/22 Python
python中pickle模块浅析
2020/12/29 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
致我们终将逝去的青春观后感
2015/06/10 职场文书
物业公司管理制度
2015/08/05 职场文书
Pytest中conftest.py的用法
2021/06/27 Python