修改文件jquery.easyui.min.js
PS:此段代码为自扩展内容,建议追加在文件末尾。
$.extend($.fn.validatebox.defaults.rules,{
CN:{
validator:function(value,param){
return/^[\u0391-\uFFE5]+$/.test(value);
},
message:'请输入汉字'
},
postcode:{
validator:function(value,param){
return/^[1-9]\d{5}$/.test(value);
},
message:'请输入有效的邮政编码'
},
QQ:{
validator:function(value,param){
return/^[1-9]\d{4,10}$/.test(value);
},
message:'请输入有效的QQ号码'
},
mobile:{
validator:function(value,param){
return/^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/.test(value);
},
message:'请输入有效的手机号码'
},
loginName:{
validator:function(value,param){
return/^[\u0391-\uFFE5\w]+$/.test(value);
},
message:'登录名称只允许汉字、英文字母、数字及下划线。'
},
safepass:{
validator:function(value,param){
returnsafePassword(value);
},
message:'密码由字母和数字组成,至少6位'
},
equalTo:{
validator:function(value,param){
returnvalue==$(param[0]).val();
},
message:'两次输入的字符不一至'
},
number:{
validator:function(value,param){
return/^\d+$/.test(value);
},
message:'请输入数字'
},
idcard:{
validator:function(value,param){
returnidCard(value);
},
message:'请输入正确的身份证号码'
}
});
/*密码由字母和数字组成,至少6位*/
varsafePassword=function(value){
return!(/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/.test(value));
}
varidCard=function(value){
if(value.length==18&&18!=value.length)returnfalse;
varnumber=value.toLowerCase();
vard,sum=0,v='10x98765432',w=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],a='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';
varre=number.match(/^(\d{2})\d{4}(((\d{2})(\d{2})(\d{2})(\d{3}))|((\d{4})(\d{2})(\d{2})(\d{3}[x\d])))$/);
if(re==null||a.indexOf(re[1])<0)returnfalse;
if(re[2].length==9){
number=number.substr(0,6)+'19'+number.substr(6);
d=['19'+re[4],re[5],re[6]].join('-');
}elsed=[re[9],re[10],re[11]].join('-');
if(!isDateTime.call(d,'yyyy-MM-dd'))returnfalse;
for(vari=0;i<17;i++)sum+=number.charAt(i)*w[i];
return(re[2].length==9||number.charAt(17)==v.charAt(sum%11));
}
varisDateTime=function(format,reObj){
format=format||'yyyy-MM-dd';
varinput=this,o={},d=newDate();
varf1=format.split(/[^a-z]+/gi),f2=input.split(/\D+/g),f3=format.split(/[a-z]+/gi),f4=input.split(/\d+/g);
varlen=f1.length,len1=f3.length;
if(len!=f2.length||len1!=f4.length)returnfalse;
for(vari=0;i<len1;i++)if(f3[i]!=f4[i])returnfalse;
for(vari=0;i<len;i++)o[f1[i]]=f2[i];
o.yyyy=s(o.yyyy,o.yy,d.getFullYear(),9999,4);
o.MM=s(o.MM,o.M,d.getMonth()+1,12);
o.dd=s(o.dd,o.d,d.getDate(),31);
o.hh=s(o.hh,o.h,d.getHours(),24);
o.mm=s(o.mm,o.m,d.getMinutes());
o.ss=s(o.ss,o.s,d.getSeconds());
o.ms=s(o.ms,o.ms,d.getMilliseconds(),999,3);
if(o.yyyy+o.MM+o.dd+o.hh+o.mm+o.ss+o.ms<0)returnfalse;
if(o.yyyy<100)o.yyyy+=(o.yyyy>30?1900:2000);
d=newDate(o.yyyy,o.MM-1,o.dd,o.hh,o.mm,o.ss,o.ms);
varreVal=d.getFullYear()==o.yyyy&&d.getMonth()+1==o.MM&&d.getDate()==o.dd&&d.getHours()==o.hh&&d.getMinutes()==o.mm&&d.getSeconds()==o.ss&&d.getMilliseconds()==o.ms;
returnreVal&&reObj?d:reVal;
functions(s1,s2,s3,s4,s5){
s4=s4||60,s5=s5||2;
varreVal=s3;
if(s1!=undefined&&s1!=''||!isNaN(s1))reVal=s1*1;
if(s2!=undefined&&s2!=''&&!isNaN(s2))reVal=s2*1;
return(reVal==s1&&s1.length!=s5||reVal>s4)?-10000:reVal;
}
};
具体请看:http://www.cnblogs.com/hxling/archive/2010/11/07/1871019.html
分享到:
相关推荐
《EasyUI验证扩展详解》 在Web开发中,数据验证是不可或缺的一环,它确保了用户输入的有效性和系统的稳定性。EasyUI,一个基于jQuery的UI框架,提供了丰富的组件和便捷的验证功能。本文将深入探讨“EasyUI验证扩展...
然而,有时默认的验证控件可能无法满足所有需求,这时我们需要对其进行自定义和扩展。 在标题和描述中提到的问题,主要是关于 EasyUI validatebox 的两个方面: 1. **验证时机**:原始的 validatebox 控件会在获取...
- **Message**:如果验证失败,默认情况下没有显示任何提示信息。 ##### 2.9 身份证验证(idcard) - **Validator 函数**:使用函数 `idCard` 来判断输入的身份证号码是否合法。此函数首先检查身份证号码的长度...
- **解释**:通过扩展EasyUI的验证规则,实现了两个日期之间的比较。`validType="TimeCheck['s1']"`表示`name="s2"`的输入框中的日期不能早于`name="s1"`中的日期。 #### 四、整体表单验证 - **代码示例**: ```...
标题 "EasyUI可扩展Editable DataGrid(可编辑数据表格)" 涉及的是一个流行的JavaScript框架——EasyUI中的一个特性。EasyUI是基于jQuery的一个轻量级且易于使用的前端框架,它提供了一系列预定义的CSS样式和...
总结来说,通过本文我们学习了如何利用jQuery Easyui的validatebox组件扩展功能来实现一个实用的表单验证规则——两次密码输入的验证。我们了解了Easyui框架的基础知识、组件使用方法、以及如何通过编程扩展这些组件...
4. 校验规则的扩展:EasyUI的validatebox默认提供了有限的校验规则,但可以通过扩展来添加更多自定义的校验规则。例如,可以添加对身份证号码、整数和合法数字的校验。 5. 自定义校验规则的实现:通过在validatebox...
8. **插件和扩展**:EasyUI 社区提供了许多第三方插件,增强了其功能。教程可能会介绍如何集成和使用这些插件,以实现更多高级功能。 9. **实战演练**:通常,教程的第六部分会结合前面的知识点,通过一个实际的小...
为了解决这个问题,我们可以编写一个补丁脚本,即`jquery.easyui.patch.js`,对EasyUI的源代码进行修改或扩展。这个补丁文件的作用是扩展`validatebox`的验证规则,允许在输入框中输入小数点。具体实现可能包括以下...
1. **CSS样式与主题定制**:EasyUI提供了一套默认的主题,但可以通过修改CSS样式来定制符合企业风格的界面。了解CSS选择器和层叠原理对于个性化设计至关重要。 2. **JavaScript与jQuery基础**:EasyUI基于jQuery,...
5. **插件扩展**:除了核心组件,EasyUI还允许开发者通过插件来扩展功能,如图表、日历、表单验证等,以满足不同项目的需求。 6. **MVC模式**:虽然EasyUI主要关注前端展示,但它与后端的数据交互通常采用MVC...
1. **自定义样式**:EasyUI的默认样式可能无法满足所有项目需求,因此我们需要对CSS进行调整或扩展。可以创建新的主题,覆盖或添加样式规则,以实现与项目设计相匹配的界面。 2. **扩展组件**:如果内置组件功能不...
通过这个 CSS 文件,你可以快速应用 EasyUI 的默认主题到你的页面上,使得界面看起来统一且专业。同时,`easyui.css` 还允许开发者进行自定义样式覆盖,以满足特定的设计需求。 3. **jquery.easyui.min.js** `...
- 用户可以根据需要,通过扩展EasyUI的默认样式和行为,实现个性化定制。 - 利用jQuery的事件监听和插件机制,可以为EasyUI组件添加新的功能或交互。 5. **与其他技术的集成** - EasyUI可与后台框架如Spring MVC...
例如,`themes/default/easyui.css` 提供了默认主题的样式,而 `themes/icon.css` 包含了图标资源。 - **实例**:jQuery EasyUI 提供了大量的示例代码,帮助开发者了解如何使用各个组件,如对话框(dialog)、表格...
- `message`: 验证失败时的提示信息,默认为 "字段不能为空"。 #### 三、其他常用组件简述 ##### 3.1 tree (树形结构) - **基础用法**:`uleasyui-tree` 创建一个树形结构组件。 ##### 3.2 datagrid (数据表格) ...
通过EasyUI的API,我们可以方便地实现组件的联动、验证等功能,提高用户体验。 总结,jQuery EasyUI的单选框和多选框组件,以及更高级的`combo`和`combobox`,为前端开发提供了强大的工具。理解并熟练运用这些组件...
})` 来扩展默认的验证规则,或者在 `validType` 属性中指定自定义验证函数。 7. **服务器端验证**: 尽管 EasyUI 可以进行前端验证,但为了安全性和一致性,服务器端也应该进行验证。示例中的 `'/ProcessServlet'...
jQuery EasyUI 提供了一套完整的主题系统,包括默认的`easyui`主题和其他几种预设主题,如`bootstrap`、`flat`等。开发者可以根据项目需求自定义主题,改变颜色、字体等样式属性。 四、API和事件 EasyUI的每个组件...
这个版本包含了完整的开发工具包、多种皮肤、额外的扩展以及丰富的演示示例,旨在帮助开发者快速理解和应用 EasyUI。 开发工具包是 EasyUI 的核心部分,它提供了大量的预定义 CSS 类和 JavaScript 函数,使得开发者...