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中的fs.fchown方法使用说明
Dec 16 Javascript
javascript转换日期字符串为Date日期对象的方法
Feb 13 Javascript
jQuery插件kinMaxShow扩展效果用法实例
May 04 Javascript
Backbone.js的Hello World程序实例
Jun 19 Javascript
关于js二维数组和多维数组的定义声明(详解)
Oct 02 Javascript
利用jQuery实现一个简单的表格上下翻页效果
Mar 14 Javascript
基于JavaScript实现的折半查找算法示例
Apr 14 Javascript
Router解决跨模块下的页面跳转示例
Jan 11 Javascript
说说node中的可读流和可写流的区别
Jun 01 Javascript
详解Angular中通过$location获取地址栏的参数
Aug 02 Javascript
浅谈Javascript中的对象和继承
Apr 19 Javascript
Vant picker 多级联动操作
Nov 02 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 include_path设置技巧分享
2011/07/03 PHP
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
python使用folium库绘制地图点击框
2018/09/21 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
python包的导入方式总结
2021/03/02 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
TheFork葡萄牙:欧洲领先的在线餐厅预订平台
2019/05/27 全球购物
项目资料员岗位职责
2013/12/10 职场文书
医学生职业规划范文
2014/01/05 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
市级青年文明号申报材料
2014/05/26 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
热血教师观后感
2015/06/10 职场文书
学前教育见习总结
2015/06/23 职场文书
交通安全温馨提示语
2015/07/14 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书