常用javascript表单验证汇总


Posted in Javascript onJuly 20, 2020

实例讲解:验证输入的是否是数字,是否满足数字位数,如果错误,并进行友情提醒。

效果图:

常用javascript表单验证汇总

常用javascript表单验证汇总

<!DOCTYPE html>
<html>
<body>

<h1>我的第一段 JavaScript</h1>

<p>请输入数字。如果输入值不是数字,浏览器会弹出提示框。</p>

<input id="demo" type="text">

<script>
function myFunction()
{
var x=document.getElementById("demo").value;
if(x==""){
alert("输入不能为空");
return;
}

if(isNaN(x)){
alert("请输入数字");
return;
}

if(x.length!=6){
alert("请输入6位数字");
return;
}

}
</script>
<button type="button" onclick="myFunction()">点击这里</button>
</body>
</html>

上面这个实例包含了许多常用的表单验证的代码,下面分享给大家:

1、验证表单

2、验证昵称

3、计算昵称长度

4、验证昵称是否存在

5、验证手机号

6、验证密码

7、验证邮箱

8、验证验证码

9、判断是否选中

 注册验证为例:

<script language="JavaScript" src="js/jquery-1.9.1.min.js" type="text/javascript"></script>

//验证表单
   function vailForm(){
    var form = jQuery("#editForm");
    if(!vailNickName())return;
    if(!vailPhone())return;
    if(!vailPwd())return;
    if(!vailConfirmPwd())return;
    if(!vailEmail())return;
    if(!vailCode())return;
    if(!vailAgree())return;
    form.submit();
   }

//验证昵称
   function vailNickName(){
    var nickName = jQuery("#nickName").val();
    var flag = false;
    var message = "";
    var patrn=/^\d+$/;
    var length = getNickNameLength();
    if(nickName == ''){
     message = "昵称不能为空!";
    }else if(length<4||length>16){
     message = "昵称为4-16个字符!";
    } else if(checkNickNameIsExist()){
     message = "该昵称已经存在,请重新输入!";
    }else{
     flag = true;
    }
    if(!flag){
     jQuery("#nickNameDiv").removeClass().addClass("ui-form-item has-error");
     jQuery("#nickNameP").html("");
     jQuery("#nickNameP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
     //jQuery("#nickName").focus();
    }else{
     jQuery("#nickNameDiv").removeClass().addClass("ui-form-item has-success");
     jQuery("#nickNameP").html("");
     jQuery("#nickNameP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该昵称可用");
    }
    return flag;
   }

//计算昵称长度
   function getNickNameLength(){
    var nickName = jQuery("#nickName").val();
    var len = 0;
   for (var i = 0; i < nickName.length; i++) {
     var a = nickName.charAt(i);



//函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项



//返回值:如果能匹配则返回结果数组,如果不能匹配返回null
     if (a.match(/[^\x00-\xff]/ig) != null){
     len += 2;
    }else{
     len += 1;
    }
   }
    return len;
   }

//验证昵称是否存在
   function checkNickNameIsExist(){
    var nickName = jQuery("#nickName").val();
    var flag = false;
    jQuery.ajax(
    { url: "checkNickName?t=" + (new Date()).getTime(),
     data:{nickName:nickName},
     dataType:"json",
       type:"GET",
       async:false,
       success:function(data) {
       var status = data.status;
       if(status == "1"){
        flag = true;
       }
      }
   });
   return flag;
   }

//验证手机号
   function vailPhone(){
    var phone = jQuery("#phone").val();
    var flag = false;
    var message = "";
    //var myreg = /^(((13[0-9]{1})|159|153)+\d{8})$/;
    var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0-9]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-3]{1})|(18[5-9]{1}))+\d{8})$/;
    if(phone == ''){
     message = "手机号码不能为空!";
    }else if(phone.length !=11){
     message = "请输入有效的手机号码!";
    }else if(!myreg.test(phone)){
     message = "请输入有效的手机号码!";
    }else if(checkPhoneIsExist()){
     message = "该手机号码已经被绑定!";
    }else{
     flag = true;
    }
    if(!flag){
     jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-error");
     jQuery("#phoneP").html("");
     jQuery("#phoneP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
     //jQuery("#phone").focus();
    }else{
     jQuery("#phoneDiv").removeClass().addClass("ui-form-item has-success");
     jQuery("#phoneP").html("");
     jQuery("#phoneP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该手机号码可用");
    }
    return flag;
   }

//验证手机号是否存在
    function checkPhoneIsExist(){
     var phone = jQuery("#phone").val();
     var flag = true;
     jQuery.ajax(
     { url: "checkPhone?t=" + (new Date()).getTime(),
      data:{phone:phone},
      dataType:"json",
        type:"GET",
        async:false,
        success:function(data) {
        var status = data.status;
        if(status == "0"){
         flag = false;
        }
       }
    });
    return flag;
    }

 //验证密码
   function vailPwd(){
    var password = jQuery("#password").val();
    var flag = false;
    var message = "";
    var patrn=/^\d+$/;
    if(password ==''){
     message = "密码不能为空!";
    }else if(password.length<6 || password.length>16){
     message = "密码6-16位!";
    }else if(patrn.test(password)){
     message = "密码不能全是数字!";
    }else{
     flag = true;
    }
    if(!flag){
     jQuery("#passwordDiv").removeClass().addClass("ui-form-item has-error");
     jQuery("#passwordP").html("");
     jQuery("#passwordP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
     //jQuery("#password").focus();
    }else{
     jQuery("#passwordDiv").removeClass().addClass("ui-form-item has-success");
     jQuery("#passwordP").html("");
     jQuery("#passwordP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该密码可用");
    }
    return flag;
   }

//验证确认密码
   function vailConfirmPwd(){
    var confirmPassword = jQuery("#confirm_password").val();
    var patrn=/^\d+$/;
    var password = jQuery("#password").val();
    var flag = false;
    var message = "";
    if(confirmPassword == ''){
     message = "请输入确认密码!";
    }else if(confirmPassword != password){
     message = "二次密码输入不一致,请重新输入!";
    }else if(patrn.test(password)){
     message = "密码不能全是数字!";
    }else {
     flag = true;
    }
    if(!flag){
     jQuery("#confirmPasswordDiv").removeClass().addClass("ui-form-item has-error");
     jQuery("#confirmPasswordP").html("");
     jQuery("#confirmPasswordP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
     //jQuery("#confirm_password").focus();
    }else{
     jQuery("#confirmPasswordDiv").removeClass().addClass("ui-form-item has-success");
     jQuery("#confirmPasswordP").html("");
     jQuery("#confirmPasswordP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>密码正确");
    }
    return flag;
   }

//验证邮箱
   function vailEmail(){
    var email = jQuery("#email").val();
    var flag = false;
    var message = "";
    var myreg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; 
    if(email ==''){
     message = "邮箱不能为空!";
    }else if(!myreg.test(email)){
     message = "请输入有效的邮箱地址!";
    }else if(checkEmailIsExist()){
     message = "该邮箱地址已经被注册!";
    }else{
     flag = true;
    }
    if(!flag){
     jQuery("#emailDiv").removeClass().addClass("ui-form-item has-error");
     jQuery("#emailP").html("");
     jQuery("#emailP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
     //jQuery("#email").focus();
    }else{
     jQuery("#emailDiv").removeClass().addClass("ui-form-item has-success");
     jQuery("#emailP").html("");
     jQuery("#emailP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>该邮箱可用");
    }
    return flag;
   }

//验证邮箱是否存在
   function checkEmailIsExist(){
    var email = jQuery("#email").val();
    var flag = false;
    jQuery.ajax(
    { url: "checkEmail?t=" + (new Date()).getTime(),
     data:{email:email},
     dataType:"json",
       type:"GET",
       async:false,
       success:function(data) {
       var status = data.status;
       if(status == "1"){
        flag = true;
       }
      }
   });
   return flag;
   }

//验证验证码

 function vailCode(){
    var randCode = jQuery("#randCode").val();
    var flag = false;
    var message = "";
    if(randCode == ''){
     message = "请输入验证码!";
    }else if(!checkCode()){
     message = "验证码不正确!";
    }else{
     flag = true;
    }
    if(!flag){
     jQuery("#randCodeDiv").removeClass().addClass("ui-form-item has-error");
     jQuery("#randCodeP").html("");
     jQuery("#randCodeP").html("<i class=\"icon-error ui-margin-right10\"> <\/i>"+message);
     //jQuery("#randCode").focus();
    }else{
     jQuery("#randCodeDiv").removeClass().addClass("ui-form-item has-success");
     jQuery("#randCodeP").html("");
     jQuery("#randCodeP").html("<i class=\"icon-success ui-margin-right10\"> <\/i>");
    }
    return flag;
   }

//检查随机验证码是否正确
   function checkCode(){
    var randCode = jQuery("#randCode").val();
    var flag = false;
    jQuery.ajax(
    { url: "checkRandCode?t=" + (new Date()).getTime(),
     data:{randCode:randCode},
     dataType:"json",
       type:"GET",
       async:false,
       success:function(data) {
       var status = data.status;
       if(status == "1"){
        flag = true;
       }
      }
   });
   return flag;
   } 

//判断是否选中
 function vailAgree(){
    if(jQuery("#agree").is(":checked")){
     return true;
    }else{
     alert("请确认是否阅读并同意XX协议");
    }
    return false;
   }
function delHtmlTag(str){
 var str=str.replace(/<\/?[^>]*>/gim,"");//去掉所有的html标记
 var result=str.replace(/(^\s+)|(\s+$)/g,"");//去掉前后空格
 return result.replace(/\s/g,"");//去除文章中间空格
}

以上就是实用的javascript表单验证,希望大家喜欢。

Javascript 相关文章推荐
基于jQuery的前端数据通用验证库
Aug 08 Javascript
jquery延迟加载外部js实现代码
Jan 11 Javascript
javascript验证上传文件的类型限制必须为某些格式
Nov 14 Javascript
Node.js查找当前目录下文件夹实例代码
Mar 07 Javascript
vue cli使用绝对路径引用图片问题的解决
Dec 06 Javascript
vue select二级联动第二级默认选中第一个option值的实例
Jan 10 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
Sep 11 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
Jul 22 Javascript
解决vue项目 build之后资源文件找不到的问题
Sep 12 Javascript
Webpack5正式发布,有哪些新特性
Oct 12 Javascript
Nuxt 项目性能优化调研分析
Nov 07 Javascript
jquery验证邮箱格式是否正确实例讲解
Nov 16 #Javascript
跟我学习javascript的call(),apply(),bind()与回调
Nov 16 #Javascript
跟我学习javascript的函数调用和构造函数调用
Nov 16 #Javascript
12种JavaScript常用的MVC框架比较分析
Nov 16 #Javascript
跟我学习javascript的函数和函数表达式
Nov 16 #Javascript
使用JQuery FancyBox插件实现图片展示特效
Nov 16 #Javascript
uploadify多文件上传参数设置技巧
Nov 16 #Javascript
You might like
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
php split汉字
2009/06/05 PHP
php中数组首字符过滤功能代码
2012/07/31 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
浅析用prototype定义自己的方法
2013/11/14 Javascript
JS实现控制表格内指定单元格内容对齐的方法
2015/03/30 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
简单实现jQuery级联菜单
2017/01/09 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
浅谈Python中eval的强大与危害
2019/03/13 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
详解python statistics模块及函数用法
2019/10/27 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
教研处工作方案
2014/05/26 职场文书
化工实习心得体会
2014/09/09 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
Go语言基础map用法及示例详解
2021/11/17 Golang
Golang 并发下的问题定位及解决方案
2022/03/16 Golang
Golang jwt身份认证
2022/04/20 Golang