js实现表单校验功能

 更新时间:2021年08月19日 09:25:15   作者:supertianjia  
这篇文章主要为大家详细介绍了js实现表单校验功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了js实现表单校验功能的具体代码,供大家参考,具体内容如下

1、所用到的三个事件:

onfocus(焦点聚焦事件)、onblur(焦点离开事件)、onkeyup(按键抬起的事件)

2、利用事件触发函数,函数中执行校验的信息。

3、利用checkform判断表单中的内容是否规范,如果规范submit按钮可以提交表单信息。

简单效果:

 

 

 

form中的代码:

<form action="demo.html" onsubmit="return checkForm()">
      <div>
      <div class="text">
           <p>用户名</p>
           <input id="value" onfocus="shoeTips('hint','用户名长度不能小于六')" onblur="hint_hide()" onkeyup="hint()" type="text" Name="Userame" placeholder="用户名" />
           <span id="hint"></span>
          </div>
         <div class="text">
           <p>密码</p>
           <input id="pass_value" onfocus="shoeTips('pass_hint','密码长度不能小于六')" onblur="pass_hide()" onkeyup="checkPass()" type="password" name="password" placeholder="密码" />
            <span id="pass_hint"></span>
            </div>
            <div class="text">
              <p>确认密码</p>
              <input id="passpass_value" onfocus="shoeTips('passpass_hint','两次密码要一致')" onblur="passpass_hide()" onkeyup="checkPassPass()" type="password" name="password" placeholder="确认密码" />
              <span id="passpass_hint"></span>
           </div>
           <div class="text">
                    <p>邮箱</p>
                    <input id="email" onfocus="shoeTips('email_hint','邮箱格式要正确')" onblur="emailHide()" onkeyup="emailCheck()" type="email" name="email" placeholder="邮箱" />
                    <span id="email_hint"></span>
                </div>
                <div class="text">
                    <p>手机号</p>
                    <input id="phone" type="text" onfocus="shoeTips('phone_hint','格式为十一位数字的手机号')" onblur="phoneHide()" onkeyup="phoneCheck()" Name="Phone" placeholder="手机号">
                    <span id="phone_hint"></span>
                </div>
                <div class="submit">
             <input type="submit" value="提交" />
         </div>
    </div>
</form>

js中的:

function shoeTips(spanId, tips) {
 var span = document.getElementById(spanId);
 span.innerHTML = tips;
}
/**
 * 校验用户名
 */
function hint() {
 var value = document.getElementById("value").value;
 var hint = document.getElementById("hint");
 if(value.length < 6) {
  hint.innerHTML = "用户名太短";
  return false;
 } else {
  hint.innerHTML = "用户名合格";
  return true;
 }
}
 
function hint_hide() {
 var hint = document.getElementById("hint");
 hint.innerHTML = "";
}
/**
 * 校验密码
 */
 
function checkPass() {
 var value = document.getElementById("pass_value").value;
 var hint = document.getElementById("pass_hint");
 if(value.length < 6) {
  hint.innerHTML = "密码太短";
  return false;
 } else {
  hint.innerHTML = "密码格式合格";
  return true;
 }
}
 
function pass_hide() {
 var hint = document.getElementById("pass_hint");
 hint.innerHTML = "";
}
/***
 * 确认密码的校验
 */
function checkPassPass() {
 var papavalue = document.getElementById("passpass_value").value;
 var value = document.getElementById("pass_value").value;
 var papahint = document.getElementById("passpass_hint");
 if(papavalue != value) {
  papahint.innerHTML = "两次密码不一致";
  return false;
 } else {
  papahint.innerHTML = "";
  return true;
 }
}
 
function passpass_hide() {
 var papahint = document.getElementById("passpass_hint");
 papahint.innerHTML = "";
}
/**
 * 校验邮箱
 */
function checkEmail(strEmail) 
{      
    var emailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
    if ( emailReg.test(strEmail) ) {
        return true;
    }
    else {
//      alert("您输入的Email地址格式不正确!");
        return false;
    }
};
function emailCheck() {
 var emailValue = document.getElementById("email").value;
 var email_hint = document.getElementById("email_hint");
 var flag = checkEmail(emailValue);
 if(flag) {
  email_hint.innerHTML = "邮箱格式正确";
  return true;
 } else {
  email_hint.innerHTML = "邮箱格式错误";
  return false;
 }
}
 
function emailHide() {
 var email_hint = document.getElementById("email_hint");
 email_hint.innerHTML = "";
}
/**
 * 校验手机号
 */
function checkMobile( strMobile )
{ //13588888888
    var regu = /^[1][345678][0-9]{9}$/;
    var re = new RegExp(regu);
    if (re.test(strMobile)) {
        return true;
    }
    else {
        return false;
    }
};
function phoneCheck() {
 var phone = document.getElementById("phone").value;
 var phone_hint = document.getElementById("phone_hint");
 var flag = checkMobile(phone);
 if(flag) {
  phone_hint.innerHTML = "手机号格式正确";
  return true;
 } else {
  phone_hint.innerHTML = "手机号格式错误";
  return false;
 }
}
 
function phoneHide() {
 var phone_hint = document.getElementById("phone_hint");
 phone_hint.innerHTML = "";
}
 
function checkForm() {
 var flag = emailCheck() && checkPass() && checkPassPass() && hint() && phoneCheck();
 return flag;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JavaScript表单验证实现过程详解

    JavaScript表单验证实现过程详解

    表单校验是注册环节中必不可少的操作,表单校验通过一定的规则来确保用户提交数据的有效性,下面这篇文章主要给大家介绍了关于el-form表单验证的一些实用方法,需要的朋友可以参考下
    2023-01-01
  • ES6入门教程之变量的解构赋值详解

    ES6入门教程之变量的解构赋值详解

    这篇文章主要给大家介绍了关于ES6入门教程之变量的解构赋值的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ES6具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • JavaScript实现搜索的数据显示

    JavaScript实现搜索的数据显示

    这篇文章主要为大家详细介绍了JavaScript实现搜索的数据显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Javascript实现动态菜单添加的实例代码

    Javascript实现动态菜单添加的实例代码

    在注册信息的时候,常常需要通过下拉菜单让用户选择,而且希望用户在第一个下拉框做的选择,影响第二个下拉框的内容。有时候,如果第一个下拉框不作出选择,第二个下拉框根本不会页面上显示,为了给用户呈现一个更清晰的页面。
    2013-07-07
  • 微信小程序开发打开另一个小程序的实现方法

    微信小程序开发打开另一个小程序的实现方法

    这篇文章主要介绍了微信小程序开发打开另一个小程序的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 基于JavaScript实现单选框下拉菜单添加文件效果

    基于JavaScript实现单选框下拉菜单添加文件效果

    这篇文章主要介绍了基于JavaScript实现单选框下拉菜单添加文件效果的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • JS实现CheckBox复选框全选、不选或全不选功能

    JS实现CheckBox复选框全选、不选或全不选功能

    CheckBox控件就是我们一般所说的复选框,通常用于某选项的打开或关闭,如一次性处理多个产品,或对文章的删除、产品的下架等处理,一条一条的点显然有一些麻烦,如果能每一行放一个checkbox,然后统一处理就好办的多了,需要的朋友可以参考下
    2016-02-02
  • JavaScript计算值然后把值嵌入到html中的实现方法

    JavaScript计算值然后把值嵌入到html中的实现方法

    下面小编就为大家带来一篇JavaScript计算值然后把值嵌入到html中的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • js中Function引用类型常见有用的方法和属性详解

    js中Function引用类型常见有用的方法和属性详解

    在本篇文章里小编给大家整理的是关于js中Function引用类型常见有用的方法和属性知识点,有兴趣的朋友们可以学习下。
    2019-12-12
  • JS按钮倒计时并跳转到新地址的实现代码

    JS按钮倒计时并跳转到新地址的实现代码

    在完成某项操作时,按钮上有个倒计时效果,倒计时结束后,跳转到新地址,这篇文章主要介绍了JS按钮倒计时并跳转到新地址,需要的朋友可以参考下
    2023-02-02

最新评论