首页 >

拥有一个属于自己的javascript表单验证插件【javascript】

web前端|js教程拥有一个属于自己的javascript表单验证插件【javascript】
javascript表单验证插件,javascript表单验证
web前端-js教程
自己编写了一个表单验证插件,使用起来很简单,以后还可以扩展更多的功能,比如ajax验证。
伊人集社区网站源码插件,vscode找不到页面,ubuntu和xshell,在哪打开tomcat,sqlite事务文件格式,爬虫老是有本能驱动的脑,php 判断是否汉字,seo优化加盟厂家,如何搭建p2p网站源码,网页两侧对联滚动广告代码,宁志系统模板lzw
每个需要验证的表单元素下面有一个span标签,这个标签的class有一个valid表示需要验证,如果有nullable则表示可为空;rule表示验证规则,msg表示错误提示信息;to表示要验证的元素的name值,如果元素是单个的,to可以不写。该插件会遍历每个有valid的span标签,找出它前面需要验证的元素,根据rule验证,如果验证不通过,则显示边框为红色,鼠标放在元素上时显示错误信息。
稀有易语言源码,vscode补全右括号,在虚拟机安装ubuntu,设置tomcat的端口,c sqlite操作类,品牌网页设计公司,=> 数据库语法,局域网代理服务器端口,pdf生产插件,前端前台的UI框架,python爬虫什么意思,php http请求,seo怎么赚钱,内网springboot,dede 调用tag标签链接打不开,网站开发代码,asp loading 网页,flash网页模板更改,php 网站后台模板,asp页面生成js,信息管理系统网站模板,微信小程序源码打开lzw
验证时机:1、点击提交按钮时显式调用验证方法;2、当元素触发blur时验证。
家具组装源码,ubuntu命令更换源,tomcat 修改黑窗名字,腿像爬虫,php循环函数进制转换,矩阵seolzw
插件代码:

CSS:

.failvalid{ border: solid 2px red !important;}
JS:

/*** 验证插件*/SimpoValidate = { //验证规则 rules: {  int: /^[1-9]\d*$/,  number: /^[+-]?\d*\.?\d+$/ }, //初始化 init: function () {  $("span[class*='valid']").each(function () { //遍历span   var validSpan = $(this);   var to = validSpan.attr("to");   var target;   if (to) {    target = $("input[name='" + to + "'],select[name='" + to + "'],textarea[name='" + to + "']");   } else {    var target = validSpan.prev();   }   if (target) {    target.blur(function () {     SimpoValidate.validOne(target, validSpan);    });   }  }); }, //验证全部,验证成功返回true valid: function () {  var bl = true;  $("span[class*='valid']").each(function () { //遍历span   var validSpan = $(this);   var to = validSpan.attr("to");   var target;   if (to) {    target = $("input[name='" + to + "'],select[name='" + to + "'],textarea[name='" + to + "']");   } else {    target = validSpan.prev();   }   if (target) {    if (!SimpoValidate.validOne(target, validSpan)) {     bl = false;    }   }  });  return bl; }, //单个验证,验证成功返回true validOne: function (target, validSpan) {  SimpoValidate.removehilight(target, msg);  var rule = SimpoValidate.getRule(validSpan);  var msg = validSpan.attr("msg");  var nullable = validSpan.attr("class").indexOf("nullable") == -1 ? false : true; //是否可为空  var to = validSpan.attr("to");  if (target) {   //checkbox或radio   if (target[0].tagName.toLowerCase() == "input" && target.attr("type") && (target.attr("type").toLowerCase() == "checkbox" || target.attr("type").toLowerCase() == "radio")) {    var checkedInput = $("input[name='" + to + "']:checked");    if (!nullable) {     if (checkedInput.length == 0) {      SimpoValidate.hilight(target, msg);      return false;     }    }   }   //input或select   if (target[0].tagName.toLowerCase() == "input" || target[0].tagName.toLowerCase() == "select") {    var val = target.val();    if (!nullable) {     if ($.trim(val) == "") {      SimpoValidate.hilight(target, msg);      return false;     }    }    else {     if ($.trim(val) == "") {      SimpoValidate.removehilight(target, msg);      return true;     }    }    if (rule) {     var reg = new RegExp(rule);     if (!reg.test(val)) {      SimpoValidate.hilight(target, msg);      return false;     }    }   }   else if (target[0].tagName.toLowerCase() == "textarea") {    var val = target.text();    if (!nullable) {     if ($.trim(val) == "") {      SimpoValidate.hilight(target, msg);      return false;     }    }    else {     if ($.trim(val) == "") {      SimpoValidate.removehilight(target, msg);      return true;     }    }    if (rule) {     var reg = new RegExp(rule);     if (!reg.test(val)) {      SimpoValidate.hilight(target, msg);      return false;     }    }   }  }  return true; }, //获取验证规则 getRule: function (validSpan) {  var rule = validSpan.attr("rule");  switch ($.trim(rule)) {   case "int":    return this.rules.int;   case "number":    return this.rules.number;   default:    return rule;    break;  } }, //红边框及错误提示 hilight: function (target, msg) {  target.addClass("failvalid");  target.bind("mouseover", function (e) {   SimpoValidate.tips(target, msg, e);  });  target.bind("mouseout", function () {   SimpoValidate.removetips();  }); }, //取消红边框及错误提示 removehilight: function (target) {  target.unbind("mouseover");  target.unbind("mouseout");  target.removeClass("failvalid");  SimpoValidate.removetips(); }, //显示提示 tips: function (target, text, e) {  var divtipsstyle = "position: absolute; left: 0; top: 0; background-color: #dceaf2; padding: 3px; border: solid 1px #6dbde4; visibility: hidden; line-height:20px; ";  $("body").append("
" + text + "
"); var divtips = $(".div-tips"); divtips.css("visibility", "visible"); var top = e.clientY + $(window).scrollTop() - divtips.height() - 18; var left = e.clientX; divtips.css("top", top); divtips.css("left", left); $(target).mousemove(function (e) { var top = e.clientY + $(window).scrollTop() - divtips.height() - 18; var left = e.clientX; divtips.css("top", top); divtips.css("left", left); }); }, //移除提示 removetips: function () { $(".div-tips").remove(); }};$(function () { SimpoValidate.init();});
如何使用:

1、引用CSS和JS(必须引用jQuery):

2、表单HTML代码(部分代码):

==请选择== 是 否
多 少
狗 猫
3、执行验证JS代码:

//保存数据function save() { if (SimpoValidate.valid()) { //执行验证  $("#frm").submit(); //提交表单 }}
效果图:

以上就是作者自己动手编写的javascript表单验证插件,希望能够帮助到大家。


拥有一个属于自己的javascript表单验证插件【javascript】
  • Javascript的表单验证长度【javascript】
  • Javascript的表单验证长度【javascript】 | Javascript的表单验证长度【javascript】 ...

    拥有一个属于自己的javascript表单验证插件【javascript】
  • javascript密码验证【javascript】
  • javascript密码验证【javascript】 | javascript密码验证【javascript】 ...

    拥有一个属于自己的javascript表单验证插件【javascript】
  • Javascript的表单与验证-非空验证【javascript】
  • Javascript的表单与验证-非空验证【javascript】 | Javascript的表单与验证-非空验证【javascript】 ...