`
floger
  • 浏览: 209864 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext中经常用到的VTypes的自定义扩展集。

阅读更多

在Ext中,经常会遇到这样或那样的数据类型,比如时间型、金额等,虽然Ext也自带了几种。但是还是远远不够的。

那天做到这部分的时候。在网上找了一些类型。和大家一起分享一下。

Ext.apply(Ext.form.VTypes,    
{   
  password: function(val, field)    
  {   
        if (field.initialPassField)    
        {   
            var pwd = Ext.getCmp(field.initialPassField);   
            return (val == pwd.getValue());    
        }   
        return true;   
  },   
  passwordText: '两次输入的密码不一致!',   
     
  chinese:function(val,field)   
  {   
        var reg = /^[\u4e00-\u9fa5]+$/i;   
        if(!reg.test(val))   
        {   
            return false;   
        }   
        return true;   
  },   
  chineseText:'请输入中文',   
     
  age:function(val,field)   
  {   
        try  
        {   
            if(parseInt(val) >= 18 && parseInt(val) <= 100)   
                return true;   
            return false;   
        }   
        catch(err)    
        {   
            return false;   
        }   
  },   
  ageText:'年龄输入有误',   
     
  alphanum:function(val,field)   
  {   
        try  
        {   
            if(!/\W/.test(val))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  alphanumText:'请输入英文字母或是数字,其它字符是不允许的.',   
     
  url:function(val,field)   
  {   
        try  
        {   
            if(/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(val))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  urlText:'请输入有效的URL地址.',   
     
  max:function(val,field)   
  {   
        try  
        {   
            if(parseFloat(val) <= parseFloat(field.max))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  maxText:'超过最大值',   
     
  min:function(val,field)   
  {   
        try  
        {   
            if(parseFloat(val) >= parseFloat(field.min))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  minText:'小于最小值',   
         
  datecn:function(val,field)   
  {   
        try  
        {   
            var regex = /^(\d{4})-(\d{2})-(\d{2})$/;   
            if(!regex.test(val)) return false;   
            var d = new Date(val.replace(regex, '$1/$2/$3'));   
            return (parseInt(RegExp.$2, 10) == (1+d.getMonth())) && (parseInt(RegExp.$3, 10) == d.getDate())&&(parseInt(RegExp.$1, 10) == d.getFullYear());   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  datecnText:'请使用这样的日期格式: yyyy-mm-dd. 例如:2008-06-20.',   
     
  integer:function(val,field)   
  {   
        try  
        {   
            if(/^[-+]?[\d]+$/.test(val))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  integerText:'请输入正确的整数',   
     
  minlength:function(val,field)   
  {   
        try  
        {   
            if(val.length >= parseInt(field.minlen))   
                return true;   
            return false  
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  minlengthText:'长度过小',   
     
  maxlength:function(val,field)   
  {   
     try  
     {   
        if(val.length <= parseInt(field.maxlen))   
            return true;   
        return false;   
     }   
     catch(e)   
     {   
        return false;   
     }   
  },   
  maxlengthText:'长度过大',   
     
  ip:function(val,field)   
  {   
        try  
        {   
            if((/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(val)))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  ipText:'请输入正确的IP地址',   
     
  phone:function(val,field)   
  {   
        try  
        {   
            if(/^((0[1-9]{3})?(0[12][0-9])?[-])?\d{6,8}$/.test(val))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  phoneText:'请输入正确的电话号码,如:0920-29392929',   
     
  mobilephone:function(val,field)   
  {   
        try  
        {   
            if(/(^0?[1][35][0-9]{9}$)/.test(val))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  mobilephoneText:'请输入正确的手机号码',   
     
  alpha:function(val,field)   
  {   
        try  
        {   
            if( /^[a-zA-Z]+$/.test(val))   
                return true;   
            return false;   
        }   
        catch(e)   
        {   
            return false;   
        }   
  },   
  alphaText:'请输入英文字母',   
     
  money:function(val,field)   
  {   
        try  
        {   
            if(/^\d+\.\d{2}$/.test(val))           
                return true;   
        return false;      
        }   
        catch(e)   
        {   
            return false;      
        }   
  
  },   
  moneyText:'请输入正确的金额'  
});



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/youyuan1980/archive/2009/02/19/3904307.aspx
 
分享到:
评论

相关推荐

    Ext Js权威指南(.zip.001

    7.4.4 数据集:ext.util.abstractmixedcollection与ext.util.mixedcollection / 330 7.4.5 数据验证及错误处理:ext.data.validations与ext.data.errors / 332 7.4.6 模型的关系:ext.data.association、ext.data...

    EXT2.2自带例子,adv-vtypes.js文件中包含的daterange验证存在一个bug

    NULL 博文链接:https://liang1long2qun3.iteye.com/blog/831669

    extjs 时间范围选择自动判断的实现代码

    extjs中 有时需要选择一个日期范围,需要...Ext.apply(Ext.form.field.VTypes, { daterange: function (val, field) { var date = field.parseDate(val); if (!date) { return false; } if (field.startDateField &&

    Checkers-Project:cs520 的最终项目

    MxN 跳棋 ######cs520 的最终项目:编程语言原理 该项目旨在创建一个简单... draw_checkers_vtypes.sats/draw_checkers_vtypes.dats(资源管理) ###Canvas 实用程序:状态范式 图形显示是一种有状态的资源。 为了正确

    96_基于Android的美食推荐 APP-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    南京大学分布式系统课程实验.zip

    南京大学分布式系统课程实验.zip

    mysql开发教程&案例&相关项目概要介绍.docx

    MySQL作为一款广泛使用的开源关系型数据库管理系统,在软件开发中扮演着核心角色。以下是对MySQL开发教程、案例及相关项目概要的综合介绍: ### MySQL开发教程概览 **黑马程序员MySQL全套教程** - **目标群体**:适合零基础至进阶水平的学习者,特别是希望从事IT行业并期望通过MySQL技能提高薪资的学员。 - **课程内容**: - **学前须知**:要求学员具备Python基础知识及网络多线程知识。 - **开发工具**:使用Navicat(MySQL的图形化界面客户端)及MySQL自身的客户端与服务端(推荐版本5.0左右)。 - **课程重点**:涵盖MySQL的图形界面操作、终端CRUD操作,以及通过Python与MySQL交互实现黑马订单管理系统的开发,包括查询、增加、删除、修改订单等功能。 - **课程目标**: - 理解数据库分类、MySQL的应用场景。 - 安装并使用Navicat进行数据操作。 - 安装MySQL并进行终端的数据库操作。 - Python与MySQL的交互编程。 - 完成黑马订单管理系统的实战项目。

    儿童节 python庆祝代码简要介绍-20240601.docx

    为了庆祝儿童节,我们可以用Python编写一个简单而有趣的程序,比如一个猜数字的小游戏,这非常适合孩子们玩耍。游戏规则很简单:计算机随机生成一个1到50之间的数字,玩家尝试猜测这个数字,计算机会根据玩家的输入给出提示(太高、太低或猜对了),直到猜中为止。下面是一个实现这个小游戏的Python代码示例: ```python import random print("我想了一个1到50之间的数字,你能猜到是多少吗?") # 生成一个1到50之间的随机数作为答案 secret_number = random.randint(1, 50) guesses_taken = 0 # 开始猜测循环 while True: try: # 获取玩家的输入并确保它是一个有效的整数 guess = int(input("请输入你的猜测:")) guesses_taken += 1 if guess < secret_number: print

    MySQLTuner,一个用Perl编写的脚本,它允许你快速审查MySQL安装情况,并进行调整以提高性能和稳定性

    MySQLTuner是一个用Perl编写的脚本,它允许你快速审查MySQL安装情况,并进行调整以提高性能和稳定性。它会检索当前的配置变量和状态数据,并以简洁的格式呈现,同时提供一些基本的性能建议。

    JAVA+SQL办公自动化系统(源代码+论文+外文翻译)

    JAVA+SQL办公自动化系统(源代码+论文+外文翻译)

    VBA-N级弹出下拉菜单【选择一次输出结果】.xlsm

    VBA-N级弹出下拉菜单【选择一次输出结果】.xlsm 直接选择一级菜单后弹出下一级菜单,一直到最后一级,一次输出结果

    Berkeley CS61B Data Structures 数据结构 课程实验和项目.zip

    Berkeley CS61B Data Structures 数据结构 课程实验和项目.zip

    基于 VC++实现的完整串口通信程序,TCPIP协议 UDP协议 短连接,长连接,定时器 等

    【作品名称】:基于 VC++实现的完整串口通信程序,TCPIP协议 UDP协议 短连接,长连接,定时器 等 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于 VC++实现的完整串口通信程序,TCPIP协议 UDP协议 短连接,长连接,定时器 等

    五洲商城小程序前端源码/小程序模板

    五洲商城小程序前端源码/小程序模板。

    PPT模板-通用模板-多场景应用-精品PPT通用模板:适用于演讲情感故事分享、商业提案教育培训、品牌推广、激励演讲、艺术创意展示

    本资源提供了一套精品PPT通用模板,设计优雅且功能全面,适合各种演讲和展示场景,包括但不限于商业提案、教育培训、个人品牌推广、激励演讲以及艺术和创意展示。这套模板的多功能性使其成为商务人士、教育者、艺术家及所有需要高质量演示材料的用户的理想选择。 模板特点: 多场景适用性:无论是商业环境下的提案、教室内的教育演讲,还是个人情感故事的分享,此模板均能提供合适的布局和设计。 设计元素:包括精心设计的幻灯片背景、图表、图形和文本框等元素,所有设计均旨在提升信息传达的清晰度和视觉吸引力。 易于定制:模板设计考虑到用户可能需要进行个性化调整,因此提供了高度可定制的布局和样式选项,使用户能够根据自己的需要轻松修改。 高质量视觉效果:采用现代设计理念,结合精美的色彩搭配和高分辨率图片,确保每一次演示都能给观众留下深刻印象。 使用场景详解: 商业提案:模板提供专业的商业图表和数据展示方案,帮助阐述复杂的商业逻辑和数据。 情感故事分享:通过情感化的背景设计和图片展示功能,让个人故事表达更加生动感人。 教育和培训:模板中的教育专用幻灯片设计,适合用于课堂教学和在线培训课程。 个人品牌推广:

    基于人工智能模型U-net神经网络医学图像分割

    这个完整工程给出基于人工智能模型U-net神经网络医学图像分割功能实现,适合基于机器学习和深度学习模型分析的学习资料,并有详细程序说明书。

    基于微信小程序的人脸识别的签到系统的设计与实现源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    QT数据库大作业-登录页面

    QT数据库大作业-登录页面

    知识领域: 网络编程 技术关键词: socket、网络编程、异步IO、TCP/IP 内容关键词: 客户端、服务器、网络协议

    知识领域: 网络编程 技术关键词: socket、网络编程、异步IO、TCP/IP 内容关键词: 客户端、服务器、网络协议 用途: 学习使用Python构建网络应用和通信系统 资源描述: Python官方文档中提供了全面的网络编程指南和示例,涵盖了socket编程、异步IO和网络协议等方面的内容。

    com.xunmeng.pinduoduo_Release_cd290ca9_ARM64.apk

    com.xunmeng.pinduoduo_Release_cd290ca9_ARM64.apk

Global site tag (gtag.js) - Google Analytics