java语言 百分网手机站

两种实现表单验证的javascript方法

时间:2020-10-24 15:35:10 java语言 我要投稿

两种实现表单验证的javascript方法

  导语:表单验证如何实现呢?下面小编给大家介绍两种实现表单验证的javascript方法,大家可以参考阅读,更多详情请关注应届毕业生考试网。

  第一种:js表单验证

  <!DOCTYPE html>

  <html lang="en">

  <head>

  <meta charset="UTF-8">

  <title>注册-个人用户</title>

  <meta http-equiv="pragma" content="no-cache">

  <meta http-equiv="cache-control" content="no-cache">

  <meta http-equiv="expires" content="0">

  <script src="//cdn.bootcss.com/jquery/3.0.0-beta1/jquery.js"></script>

  <style>

  body {

  font-family: Arial, "宋体", Lucida, Verdana, Helvetica, sans-serif;

  font-size: 12px;

  color: #333;

  line-height: 150%;

  background: #f2f2f2;

  }

  .hide{display:none;}

  .focus,.error {

  color: #e4393c;

  line-height: 36px;

  height: 36px;

  position: absolute;

  top: 0px;

  width: 260px;

  padding: 0 5px;

  background: #FFEBEB;

  border: 1px solid #ffbdbe;

  }

  .error span,.focus span {

  padding: 5px 0;

  line-height: 13px;

  display: block;

  }

  .focus {

  color: #666;

  width: 260px;;

  line-height: 36px;

  background: #f7f7f7;

  border: 1px solid #dddddd;

  }

  .regist {

  width: 990px;

  padding: 0;

  margin: 0 auto;

  zoom: 1;

  }

  .mc {

  padding: 30px 0 20px;

  border: solid #dddddd; border-width : 0px 1px 1px;

  background: #FFF;

  overflow: hidden;

  zoom: 1;

  border-width: 0px 1px 1px;

  }

  .form {

  float: left;

  width: 750px;

  font-size: 12px;

  }

  .form label,.form input,.form select,.form textarea,.form button,.form .label {

  float: left;

  font-size: 12px;

  }

  .item {

  padding-top: 9px;

  height: 60px;

  line-height: 34px;

  position: relative;

  z-index: 1;

  }

  .label {

  float: left;

  width: 190px;

  text-align: right;

  font-size: 14px;

  color: #999;

  padding-right: 10px;

  }

  .input {

  float: left;

  position: relative;

  width: 270px;

  overflow: visible;

  }

  .text {

  float: none;

  width: 275px;

  height: 37px;

  line-height: 32px;

  border: 1px solid #cccccc;

  font-size: 14px;

  font-family: arial, "宋体";

  overflow: hidden;

  }

  </style>

  </head>

  <body>

  <p class="regist">

  <p class="mc">

  <form id="personRegForm" class="form" action="login.html" method="POST" onsubmit="return validateForm();">

  <p class="item">

  <span class="label">用户名:</span>

  <p class="input">

  <input type="text" id="username" name="username" class="text">

  <label id="username_msg" class="hide"></label>

  </p>

  </p>

  <p class="item">

  <span class="label">请设置密码:</span>

  <p class="input">

  <input type="password" id="password" name="password" class="text">

  <label id="pwd_msg" class="hide"></label>

  </p>

  </p>

  <p class="item">

  <span class="label">请确认密码:</span>

  <p class="input">

  <input type="password" id="pwdRepeat" name="pwdRepeat" class="text">

  <label id="pwdRepeat_msg" class="hide"></label>

  </p>

  </p>

  <p class="item">

  <span class="label">验证邮箱:</span>

  <p class="input">

  <input type="text" id="mail" name="mail" class="text">

  <label id="mail_msg" class="hide"></label>

  </p>

  </p>

  <p class="item">

  <span class="label"> </span>

  <input type="submit" class="btn-img" id="registsubmit" value="立即注册" />

  </p>

  </form>

  </p>

  </p>

  <script>

  window.onload = function(){

  // 1. 用户名

  $("#username").focus(function(){

  /* 获取焦点

  var username_msg = $("#username_msg");

  username_msg.text("4-20位字符,支持英文、数字及'-'、'_'组合");

  username_msg.attr("class","focus");

  */

  elemFocus("username_msg","4-20位字符,支持英文、数字及'-'、'_'组合");

  }).blur(userValidator);

  // 2. 密码

  $("#password").focus(function(){

  elemFocus("pwd_msg","6-20位字符,可使用字母、数字的组合");

  }).blur(pwdValidator);

  // 3. 确认密码

  $("#pwdRepeat").focus(function(){

  elemFocus("pwdRepeat_msg","6-20位字符,可使用字母、数字的'组合");

  }).blur(pwdRepeatValidator);

  // 4. Email

  $("#mail").focus(function(){

  elemFocus("mail_msg","完成验证后,可以使用该邮箱登录和找回密码");

  }).blur(emailValidator);

  }

  // 定义函数 - 通用的信息提示

  function elemFocus(eleId,text){

  var ele_msg = $("#"+eleId);

  ele_msg.text(text);

  ele_msg.attr("class","focus");

  }

  // 定义验证用户名的函数

  function userValidator(){

  // 获取用户名输入的值

  var value = $("#username").val();

  // 获取用于显示提示信息的元素

  var username_msg = $("#username_msg");

  // 验证逻辑

  if(value==""||value==null){

  username_msg.text("用户名不能为空");

  username_msg.attr("class","error");

  return false;

  }else if(value.length<4||value.length>20){

  username_msg.text("用户名的长度不正确");

  username_msg.attr("class","error");

  return false;

  }else if(!/^[a-zA-Z0-9-_]{4,20}$/.test(value)){

  username_msg.text("用户名输入不正确");

  username_msg.attr("class","error");

  return false;

  }

  // 验证通过修改正确样式

  if(!username_msg.hasClass("hide")){

  username_msg.text("");

  username_msg.attr("class","hide");

  }

  return true;

  }

  // 定义验证密码的函数

  function pwdValidator(){

  var value = $("#password").val();