WebScript - JavaScript Validate Rule

[02]Web前端进阶—script标签 在html网页上写js代码,经常需要引入外部是js文件,script标签就是用来引入js文件的。其中他的位置有时候也很关键。学习script常用的属性和位置的放置很有必要 阅读详情

/** global sign.*/
var isDedug = true;

function NotNullRule(node,msg){
 if( isDebug){
  if( !node )
   alert("IllegalArgument : node is null ."); 
 }

 this.node  = node;
 this.msg = msg;
 
 NotNullRule.prototype.validate = function (){
  var value = new String(this.node.value);
  
  value = value.replace(/^/s*/g,'').replace(//s*$/g,'');
   
  if( value =='')
   throw this.msg;
     
  return ;
 }

 return this;
}

function LengthRule(node,minLength,maxLength,msg){
 if( isDebug){
  if( !node )
   alert("IllegalArgument : node is null ."); 
 }

 this.node=node;
 this.minLen=minLength == null ? 0 : minLength ;
 this.maxLen=maxLength == null ? 32767 : maxLength ;
 this.msg = msg;
 
 LengthRule.prototype.validate =  function(){
  var value = new String(this.node.value);
  
  if( value.length < this.minLen || value.length > this.maxLen )
   throw this.msg;

  return;  
 }

 return this;
}

function RegExRule(node, pattern , msg){
 if( isDebug){
  var str = '';
  if( !node )
   str += "IllegalArgument : node is null ./n"; 
  if( !pattern)
   str += "IllegalArgument : pattern is null./n";
  
  var typeOfPattern = typeof(pattern);
  if( typeOfPattern != "RegExp" && typeOfPattern != "string" )
   str += "IllegalArgument : incorrent RegExp pattern ( parameter type is incorrect)./n";
   
  if( str )
   alert( "Error :/n"+ str);
 }
 
 this.node = node;
 this.pattern = typeof(pattern) == "RegExp" ? pattern : new RegExp(pattern) ;
 this.msg  = msg;

 RegExRule.prototype.validate= function(){
  if ( this.node.value.split(this.pattern).length !=0 )
   throw msg;
  
  return ;
 }

 return this;
}

function CheckedRule(node,msg){
 if( isDebug){
  if( !node )
   alert("IllegalArgument : node is null ."); 
 }
 
 this.node= node;
 this.msg = msg;
        
 CheckedRule.prototype.validate = function(){
  if( this.node && this.node.nodeName=="SELECT" ){ // select .
   var ops = this.node.options;
   
   // must.
   if ( !ops || ops.length ==0 )
     return ;
     
   for( var idx=0 ; idx < ops.length ; idx ++){
    if( ops.item(idx).selected )
     return ;
   }
   
   throw this.msg;
  
  } else{  // radio group or checkbox group
     
   var kids = document.getElementsByName(this.node.nodeName);

   // must.
   if( !kids  || kids.length ==0 )
     return  ;
   
   for( var i =0 ; i< kids.length ; i++ ){
    if( kids[i].nodeName=="INPUT"
     && ( kids[i].type=="checkbox" || kids[i].type=="radio" )
     && kids[i].checked ){
     
     return  ;
    }
       
   }
   
   throw this.msg ;
  }
 
 }
 
 return this;
}


// Validator Controller.
function Ruler ( form ){
 if( isDebug){
  if( !node )
   alert("IllegalArgument : form node is null ."); 
 }
 
 this.form = form;
 this.rules = new Array();
 
 // Delegate.
 Ruler.prototype.addNotNull = function(node,msg){
  this.rules.push(new NotNullRule(this.form[node],msg));
 }
 
 Ruler.prototype.addLength = function(node,minLen,maxLen,msg){
  this.rules.push(new LengthRule(this.form[node],minLen,maxLen,msg));
 }
 
 Ruler.prototype.addRegEx = function(node,pattern,msg){
  this.rules.push(new RegExRule(this.form[node],pattern,msg));
 }

 //  global validation .
 Ruler.prototype.validate  = function(){
  var msg="";
  for( var i= 0; i< this.rules.length; i++){
   try{
    msg+= this.rules[i].validate();
   }catch(e){
    msg += e +"/n";
   }
  }
  
  if( msg =="" ){
   return true;
  } else{
   alert ("Invalid Input :/n/n"+ msg );
   return false;
  }
  
 }

 return this;
}

基于Prototype的Validation表单验证插件.rar 一款基于Prototype的Validation表单验证插件,实现Ajax风格的无刷新表单验证功能,当用户输入完表单,即时显示该项输入是否正确,不正确则会给出提示,适合那些比较喜欢简洁风格,又要求功能准确的用户,本款表单验证插件基于Prototype插件。 立即下载

相关推荐

离散系统傅里叶变换的常用结论证明

本文介绍了离散系统傅里叶变换的三个重要结论:1)时域卷积对应频域相乘(公式1-3);2)时域相乘对应频域卷积(公式4-6);3)帕塞瓦尔定理(公式7)及其广义形式,证明信号能量在变换域保持不变。文末提供了MATLAB卷积运算演示程序,通过动画展示离散信号卷积过程(翻转、平移、相乘、累加),并以方波信号为例给出运行结果图。该程序直观呈现了卷积运算的步骤与结果。

newtton的博客 1302

js的Validate校验,根据条件不同选择是否验证

1、一般情况下表单验证 $().ready(function() { validateRule(); }); $.validator.setDefaults({ submitHandler : function() { submitfuc(); //提交表单的ajax } }); //提交的数据校验规则 function validateRule() { var icon = "<i class='fa fa-times-circle'></i> "; $

qq_37752382的博客 1857

Win10内网离线安装NET3.5,绝对成功,保姆级

今天工作安装工具软件套装3.5组件!也在csdn上找了很多方法躺了很多坑,我总结如下! 其实就一条,什么版本的win10装什么版本的net3.5 我的电脑是1909版本,用2004H2的镜像是没有用的,dism组件报错8024402C 所以我下载1909镜像挂在虚拟光驱 ,管理员模式下powershell dism.exe /online /enable-feature /featurename:NetFX3 /Source:E:\sources\sxs dism.exe /online /en..

唉呀妈呀脑瓜疼 6万+

validate.js页面验证js使用方法

validate.js包含三个主要的构造: FormValidator,InputValidator,BaseValidator构造会new一个对象,对有限属性进行覆盖:   FormValidator是表单的验证构造,需要两个参数,第一个为表单元素,第二个为构造的参数列表(是一个JSON对象,会覆盖掉该对象中的同名属性)。   InputValidator 是表单元素的验证构造,有三个参数,

yaonianlong的专栏 5565

转录组PCA分析3大常见误区:数据标准化、离群样本与批次效应处理

本文深入探讨转录组PCA分析中的三大常见误区:数据标准化、离群样本识别与批次效应处理。通过实战案例和R代码演示,揭示如何优化PCA结果以提升生物学解释力,特别关注数据标准化策略的选择和批次校正方法的应用,帮助研究者避免常见陷阱并获得可靠的转录组分析结果。

weixin_28362173的博客 372

保姆级避坑指南:在Ubuntu 22.04上用ROS2 Humble搞定TurtleBot3的SLAM与导航(附5个常见报错解决方案)

本文提供了一份详细的Ubuntu 22.04上使用ROS2 Humble和TurtleBot3进行SLAM建图与导航的避坑指南,涵盖Gazebo启动失败、场景加载问题、环境变量设置、GLIBCXX版本冲突及Nav2参数配置等5个常见报错的解决方案,帮助开发者高效完成机器人导航项目。

weixin_29062823的博客 285

Validator验证框架

 5.4  Validator验证框架 Struts1.1及以上版本,在提供了动态ActionForm的同时,配合数据验证的需要,还提供了表单输入自动验证的功能,即使用Validator验证框架。 Validator验证框架是通过配置验证规则实现验证功能的,开发人员不需要编写代码,同时也能够最大限度重用同一个验证规则。因此,这种验证方式在目前的Struts应用中得到了广泛的应用。 在使

4576

使用Qt Creator调用eBUS SDK

在新界面,勾选左下角“ Show unreachable Network Devices",可以看到没有成功连接的网络相机,原因是IP地址配置错误。每个版本的OpenCV的依赖项的名字都不同,我这里是opencv_world490.lib与opencv_world490d.lib。函数,可以看到在这里是图像缓存区,能够对捕获的图像进行一些操作。在Visual Studio打开项目属性,在VC++目录这里,把Opencv的路径添加进去。这时,会自动跳转到mainwindow.cpp,生成该按钮对应的槽函数。

qq_35685051的博客 1288

jquery validate的rules方法使用注意

使用jq validate校验form时, 我们经常要用到切换一个input的rule功能, 比如: 此时我们就可以使用组件提供的rules方法: rules(...

aben_sky的专栏 3186

YOLO11涨点优化:卷积魔改 | 可变形条带卷积(DSCN),魔改轻量DCNv3二次创新

如何跟YOLO11结合:1)和C3k2创新性结合

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 988

【笔记篇】Davinci Configurator EcuM模块

autosar ecum模块简介

weixin_47571898的博客 1268

基于js的表单校验函数validate.js

基于js的一个适用于任何数据的一个form表单行校验validate

qq_41228055的博客 2969

mbedtls | 01 - 移植mbedtls库到STM32的两种方法

一、mbedtls 开源库 1. mbedtls是什么 Mbed TLS是一个开源、可移植、易于使用、代码可读性高的SSL库。可实现加密原语,X.509证书操作以及SSL / TLS和 DTLS 协议,它的代码占用空间小,非常适合用于嵌入式系统。 mbedtls遵循 Apache 2.0 开源许可协议,目前由 TrustedFirmware 维护(Linaro主持的一个治理开放社区项目),在Github上已收获 2.6k star,目前Github上发布的最新版本为 2.24.0 版本,开源仓库地址为:

Mculover666的博客(嵌入式) 1万+

2.web JavaScript基础语法

一、JavaScript JavaScript主要用于客户端脚本程序,通常嵌入再HTML代码中,由浏览器解释和运行 1.JavaScript的功能 控制文档的外观和内容:用户可以通过Document对象的write方法将内容写入文档中,也可以调用Document对象的getElementById方法找到文档中某个对象,然后动态的改变其内容和外观 验证表单输入内容:再客户端取得的表单中输入数据并进行验证,只有当数据合法时候才提交给服务器,减轻服务器的处理负荷 实现客户端的计算和处理:从表单中..

qq_46235384的博客 2585

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【前端基础】 JavaScript基础

JavaScript基础 1 JavaScript基础之基本语法 概念: 一门客户端脚本语言 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎 脚本语言:不需要编译,直接就可以被浏览器解析执行了 功能: * 可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。 JavaScript发展史: 【1】 1...

https://github.com/Wheeeeeeeeels 320

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jquery.validate.js客户端验证

参考:http://www.runoob.com/jquery/jquery-plugin-validate.html http://www.cnblogs.com/artech/archive/2012/06/17/client-validation-01.html 引用文件: <script type="text/javascript" src="~/Scripts/jq...

weixin_30414155的博客 284

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

基于async-validator的表单验证validateRules.js封,iView、element的通用验证封装函数,包含常用手机、邮箱、身份证、验证码、QQ号码、微博账号、最小、最大等验证

开发基于Vue.js使用Element UI、iView UI的项目时,写验证和常用自定义验证可以封装成独立函数,调用时轻松调用 validate.js /** * @description 表单验证封装 * @author WXF * @update 2019-06-20 */ export const regExp = { // 10字符必填(同理20字符必填,50字符必填,1500字符必填) validateLen(rule, value, callback) { let

weixin_39703282的博客 2549

关于Jquery的Validate插件------rules规则说明

Query Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。 1.使用说明 必须要引入对应的包,rules的判断才会生效。 <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></scri

牧码人的博客 5117

JS validate校验框架使用方式

JS validate校验框架使用方式 1.引入JS &lt;script src="/assets/js/validate-methods.js"&gt;&lt;/script&gt; &lt;script src="/assets/js/jquery.validate.js"&gt;&lt;/script&gt; &lt;script src="/assets/js/mess

司马缸砸缸了 1万+

表单校验插件Validate.js&自定义规则校验

一、jquery插件 网络上有许多成熟的插件供使用者参考,插件就是将jquery实现的常用操作进行封装,封装后的小框架就可以叫做插件,按照插件的语法去操作可以实现很多复杂的功能,而这些复杂功能的背后实现我们可以不必懂。 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 U...

henrly的博客 5589

Web JavaScript

对js基础知识和使用进行了相关介绍。

weixin_51312723的博客 1190

validate表单校验器

使用: 1.导入jquery.js文件 2.导入jquery-validate.js文件 3.导入messages_zh.js国际化文件(可以不导入的) 4.对表单进行校验 在页面加载成功后获取表单对象.validate({ rules:{}, //校验规则 messages:{} //自定义提示信息 }) rules写法: 不要写id,是name 要校验的...

qq_44063001的博客 469

12.23 WEB script

长文本分页 #frameContent{ width:400px; /*调整显示区的宽*/ height:300px; /*调整显示区的高*/ font-size:14px; line-height:20px; border:1px solid #000000; overflow-pageINdex:hi...

ababychicken的博客 427

Validate.js 使用教程

Validate.js 是一个用于表单验证的轻量级 JavaScript 库。以下是其基本目录结构: ``` validate.js/ ├── dist/ │ ├── validate.js │ └── validate.min.js ├── src/ │ ├── validate.js │ └── rules.js ├── test/ │ └── validate.test...

gitblog_00676的博客 566

jQuery-Validate验证插件的使用步骤详解

我们知道,用户在注册的时候,会有个表单页面,然后有些选项是必填的,有些要填的内容是有规范的,这些都要在用户提交之前进行验证才行,如果不符合要求,需要在右边显示一个友好的提示,让用户修改。   记得以前在学习Servlet的时候,实现一个简单的用户注册功能的验证是在后台做的,有些用了正则表达式,有些没用,但是都比较简单。流程是这样的,前台提交表单数据后,servlet获取数据

8万+
上一篇: JavaEnv - Ant with Eclipse
下一篇: 注册 XML Catalog 解决 Eclipse 中 XML 验证时 dtd /xsd 实体未找到 或 连接主机超时的问题
humanity
博客等级 码龄23年 434粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值