`
chengyue2007
  • 浏览: 1468592 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

EXT VTYPE

阅读更多
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中xtype和vtype.

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

    extjs 常用vtype 代码

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

    EXT表单验证之TextField

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

    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教程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 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默认支持的验证

Global site tag (gtag.js) - Google Analytics