`
kowen
  • 浏览: 113584 次
  • 性别: Icon_minigender_1
  • 来自: 东营
社区版块
存档分类
最新评论

ext vtype 实例

    博客分类:
  • ext
阅读更多
Ext.apply(Ext.form.VTypes, {
// 年龄
"age" : function(_v) {
  if (/^\d+$/.test(_v)) {
   var _age = parseInt(_v);
   if (_age < 200)
    return true;
  } else
   return false;
},
'ageText' : '年龄格式出错!!格式例如:20',
'ageMask' : /[0-9]/i,
// 密码验证
"repassword" : function(_v, field) {
  if (field.confirmTO) {
   var psw = Ext.get(field.confirmTO);
   return (_v == psw.getValue());
  }
  return true;
},
"repasswordText" : "密码输入不一致!!",
"repasswordMask" : /[a-z0-9]/i,
// 邮政编码
"postcode" : function(_v) {
  return /^[1-9]\d{5}$/.test(_v);
},
"postcodeText" : "该输入项目必须是邮政编码格式,例如:226001",
"postcodeMask" : /[0-9]/i,

//IP地址验证
"ip":function(_v){
  return /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/.test(_v);

},
"ipText":"该输入项目必须是IP地址格式,例如:222.192.42.12",
"ipMask":/[0-9\.]/i,
// 固定电话及小灵通
"telephone" : function(_v) {
  return /(^\d{3}\-\d{7,8}$)|(^\d{4}\-\d{7,8}$)|(^\d{3}\d{7,8}$)|(^\d{4}\d{7,8}$)|(^\d{7,8}$)/
    .test(_v);
},
"telephoneText" : "该输入项目必须是电话号码格式,例如:0513-89500414,051389500414,89500414",
"telephoneMask" : /[0-9\-]/i,
// 手机
"mobile" : function(_v) {
  return /^1[35][0-9]\d{8}$/.test(_v);
},
"mobileText" : "该输入项目必须是手机号码格式,例如:13485135075",
"mobileMask" : /[0-9]/i,
// 身份证
"IDCard" : function(_v) {
  // return /(^[0-9]{17}([0-9]|[Xx])$)|(^[0-9]{17}$)/.test(_v);
  var area = {
   11 : "北京",
   12 : "天津",
   13 : "河北",
   14 : "山西",
   15 : "内蒙古",
   21 : "辽宁",
   22 : "吉林",
   23 : "黑龙江",
   31 : "上海",
   32 : "江苏",
   33 : "浙江",
   34 : "安徽",
   35 : "福建",
   36 : "江西",
   37 : "山东",
   41 : "河南",
   42 : "湖北",
   43 : "湖南",
   44 : "广东",
   45 : "广西",
   46 : "海南",
   50 : "重庆",
   51 : "四川",
   52 : "贵州",
   53 : "云南",
   54 : "西藏",
   61 : "陕西",
   62 : "甘肃",
   63 : "青海",
   64 : "宁夏",
   65 : "新疆",
   71 : "台湾",
   81 : "香港",
   82 : "澳门",
   91 : "国外"
  }
  var Y, JYM;
  var S, M;
  var idcard_array = new Array();
  idcard_array = _v.split("");
  // 地区检验
  if (area[parseInt(_v.substr(0, 2))] == null){
   this.IDCardText="身份证号码地区非法!!,格式例如:32";
   return false;
  }
  // 身份号码位数及格式检验
  switch (_v.length) {
   case 15 :
    if ((parseInt(_v.substr(6, 2)) + 1900) % 4 == 0
      || ((parseInt(_v.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(_v
        .substr(6, 2)) + 1900)
        % 4 == 0)) {
     ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;// 测试出生日期的合法性
    } else {
     ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;// 测试出生日期的合法性
    }
    if (ereg.test(_v))
     return true;
    else{
     this.IDCardText="身份证号码出生日期超出范围,格式例如:19860817";
     return false;
    }
    break;
   case 18 :
    // 18位身份号码检测
    // 出生日期的合法性检查
    // 闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
    // 平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
    if (parseInt(_v.substr(6, 4)) % 4 == 0
      || (parseInt(_v.substr(6, 4)) % 100 == 0 && parseInt(_v
        .substr(6, 4))
        % 4 == 0)) {
     ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;// 闰年出生日期的合法性正则表达式
    } else {
     ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;// 平年出生日期的合法性正则表达式
    }
    if (ereg.test(_v)) {// 测试出生日期的合法性
     // 计算校验位
     S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10]))
       * 7
       + (parseInt(idcard_array[1]) + parseInt(idcard_array[11]))
       * 9
       + (parseInt(idcard_array[2]) + parseInt(idcard_array[12]))
       * 10
       + (parseInt(idcard_array[3]) + parseInt(idcard_array[13]))
       * 5
       + (parseInt(idcard_array[4]) + parseInt(idcard_array[14]))
       * 8
       + (parseInt(idcard_array[5]) + parseInt(idcard_array[15]))
       * 4
       + (parseInt(idcard_array[6]) + parseInt(idcard_array[16]))
       * 2
       + parseInt(idcard_array[7])
       * 1
       + parseInt(idcard_array[8])
       * 6
       + parseInt(idcard_array[9]) * 3;
     Y = S % 11;
     M = "F";
     JYM = "10X98765432";
     M = JYM.substr(Y, 1);// 判断校验位
     //alert(idcard_array[17]);
     if (M == idcard_array[17]) {
      return true; // 检测ID的校验位
     } else {
      this.IDCardText="身份证号码末位校验位校验出错,请注意x的大小写,格式例如:201X";
      return false;
     }
    } else {
     this.IDCardText="身份证号码出生日期超出范围,格式例如:19860817";
     return false;
    }
    break;
   default :
    this.IDCardText="身份证号码位数不对,应该为15位或是18位";
    return false;
    break;
  }

},
"IDCardText" : "该输入项目必须是身份证号码格式,例如:32082919860817201x",
"IDCardMask" : /[0-9xX]/i,



yearRange : function(val, field) {
        return (val > 1900 && val < 2050);
    },
    yearRangeText : '日期应该在1900-2050',
   
    weekRange : function(val, field) {
        return (val > 0 && val < 6);
    },
    weekRangeText : '周次应该在1-5之间'

});

分享到:
评论

相关推荐

    Ext Vtype 表单验证实现登陆

    NULL 博文链接:https://hk-cxy.iteye.com/blog/941735

    EXT教程EXT用大量的实例演示Ext实例

    4.7.3. 借助vtype 4.7.4. 自定义验证规则 4.7.5. 算不上校验的NumberField 4.8. 关于表单内部控件的布局问题 4.8.1. 什么都不做,默认的平铺布局 4.8.2. 分裂,分列 4.8.2.1. 分裂,分列。1.x 4.8.2.2. 分裂...

    Ext中xtype和vtype.

    Ext中xtype和vtype是比较常用,本文对之进行了总结.

    extjs 常用vtype 代码

    extjs 常用vtype 代码 Ext.VTyps常用vtype大全!

    EXT表单验证之TextField

    EXT表单验证之TextField,vtype 包括所有EXT中TextField的验证方式

    extjs vtype 扩展正则

    Extjs表单VTYPE扩展,方便验证!

    EXT2.0中文教程

    4.7.3. 借助vtype 4.7.4. 自定义验证规则 4.7.5. 算不上校验的NumberField 4.8. 关于表单内部控件的布局问题 4.8.1. 什么都不做,默认的平铺布局 4.8.2. 分裂,分列 4.8.2.1. 分裂,分列。1.x 4.8.2.2. 分裂,分列。...

    Ext 开发指南 学习资料

    4.7.3. 借助vtype 4.7.4. 自定义验证规则 4.7.5. 算不上校验的NumberField 4.7.6. 使用后台返回的校验信息 4.8. 关于表单内部控件的布局问题 4.8.1. 什么都不做,默认的平铺布局 4.8.2. 分裂,分列 4.8.3. fieldset...

    ext form小例子

    ext form小例子 包括客户端验证 还有一个对Ext.form.Vtype 扩展

    ext-2.3.0+CKEditor 3.0.1+ckfinder_asp_1.4配置详解及工程源码

    ext-2.3.0+CKEditor 3.0.1+ckfinder_asp_1.4配置详解 一、去http://cksource.com/下载这两个东西 二、去http://www.extjs.com/下载ext-2.3.0 三、将ext-2.3.0、CKEditor 3.0.1、ckfinder_asp_1.4,取出解压后的...

    ext js mvc

    ext js的mvc框架 ,分页展示,vtype验证,border布局。新手学习ext js 不错的项目

    ExtJSWeb应用程序开发指南(第2版)

    4.1.7 Ext.form.field.Checkbox复选框和Ext.form.field.Radio单选框 4.1.8 Ext.form.CheckboxGroup和Ext.form.RadioGroup 4.1.9 Ext.form.field.Trigger触发字段 4.1.10 Ext.form.field.Spinner微调字段 4.1.11 ...

    extjs增删改查典型案例

    userForm = new Ext.FormPanel({ id:'conditionForm', labelWidth:'80', labelAlign:'right', border:false, bodyBorder:false, frame:true, items:[ layout:'column', items:[ { columnWidth:'.8', ...

    extjs xtype

    有关于ext的xtype,Ext.QuickTips.init(),几种extjs的vtype默认支持的验证

    JavaScript校验Number(4,1)格式的数字实例代码

    项目里面有个录入,需要数字格式进行校验,前端使用的是miniUI框架,miniUI文档里面自带了校验,vtype=”float”,校验浮点数的,但是它不能做到校验这个浮点数有几位整数和几位小数,所以就有必要重写写一个js函数来...

    开源求解器SCIP的python接口学习手册

    开源求解器SCIP的python接口学习手册

    如何优化Mysql千万级快速分页

    数 据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用text, id 是逐渐,vtype是tinyint,vtype是索引。这是一个基本的新闻系统的简单模型。现在往里面填充数据,填充10万篇新闻。 ...

    Mysql limit 优化,百万至千万级快速分页 复合索引的引用并应用于轻量级框架

    用事实说话,看例子: 数据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用text, id 是逐渐,vtype是tinyint,vtype是索引。这是一个基本的新闻系统的简单模型。现在往里面填充数据...

    C#利用反射技术实现去掉按钮选中时的边框效果

    本文实例讲述了C#利用反射技术实现去掉按钮选中时的边框效果。分享给大家供大家参考。具体如下: public void HideFocusCues(Control control) { Type vType = typeof(Control); FieldInfo vFieldInfo = vType....

    chrome_ragamuffin:使用Volatility的Google Chrome内部分析

    该插件的目标是使分析Google Chrome运行实例成为可能。 从内存转储开始,Chrome Ragamuffin可以列出在哪个选项卡上打开了哪个页面,并且能够提取DOM树以分析整个页面结构。 此时,Chrome Ragamuffin可以扫描内存中...

Global site tag (gtag.js) - Google Analytics