- 浏览: 26259 次
- 性别:
- 来自: 上海
最近访客 更多访客>>
最新评论
-
开坦克抢银行:
请问下:com.google.gwt.user.client. ...
GWT-EXT的RPC调用出错 -
agirlcyl:
楼主,刚才表达错了,是使用CheckBoxGroup的问题。并 ...
EXT-GWT的Radio使用实例 -
agirlcyl:
楼主讲的相当详细,支持一下。我也是刚接触GXT,楼主可不可以再 ...
EXT-GWT的Radio使用实例
1先来看看正则表达式的基本语法:
1.1普通字符:字母、数字、汉字、下划线以及没有被定义特殊意义的标点符号
1.2简单的转义字符:一些不便书写的字符,比如换行符,制表符等,使用 \n,\t 来表示。另外有一些标点符号在正则表达式中,被定义了特殊的意义,因此需要在前面加 "\" 进行转义后,匹配该字符本身。
1.2.1简单列举一下常用的特殊意义的转义符,方便查看
^ 匹配输入字符串的开始位置,如匹配本身则加转义符\ ,即\^(下同)
$ 匹配输入字符串的结束位置
() 标记一个子字符串的开始和结束位置
[] 用来自定义能够匹配"多种字符"的表达式
{} 修饰匹配的次数
. 修饰匹配除了换行符(\n)以外的任意一个字符
? 修饰匹配次数为 0 次或 1 次
+ 修饰匹配次数为至少 1 次
* 修饰匹配次数为 0 次或任意次
| 左右两边表达式之间 "或" 关系
1.2.2 以上特殊意义的转义符具有的共同特征是:匹配本身均为加上转义符"\"
1.2.3 常用标准字符表达集合
. 小数点可以匹配除了换行符(\n)以外的任意一个字符
\w 可以匹配任何一个字母或者数字或者下划线(注w小写)
\W 可以匹配任何一个字母或者数字或者下划线以外的字符(注W大写)
\d 可以匹配0-9中的任意一个数字字符
\D D大写可以匹配任何一个非数字字符
1.2.4 自定义字符集合
用中括号 [ ] 包含多个字符,可以匹配所包含的字符中的任意一个。同样,每次只能匹配其中一个
用中括号 [^ ] 包含多个字符,构成否定格式,可以匹配所包含的字符之外的任意一个字符。
注:
正则表达式中的特殊符号,如果被包含于中括号中,则失去特殊意义,但 \ [ ] : ^ - 除外。
标准字符集合,除小数点(.)外,如果被包含于中括号中,自定义字符集合将包含该集合。
比如:[\d.\-+],将可以匹配数字,小数点和 + - 符号。(小数点和 + 号失去特殊意义)
用减号相连的 2 个普通字符,自定义字符集合将包含该范围。
比如:[\dA-Fa-f],将可以匹配 0 - 9, A - F, a - f
2下面结合GWT-EXT的NumberField实现提示信息的自定义
定义全局变量
- // 单价
- private NumberField unitPrice;
- // 工艺费
- private NumberField craftFee;
- // 石重量
- private NumberField stoneWeight;
- // 总重
- private NumberField totalWeight;
// 单价 private NumberField unitPrice; // 工艺费 private NumberField craftFee; // 石重量 private NumberField stoneWeight; // 总重 private NumberField totalWeight;
初始化
- // 石重量
- this.stoneWeight = new NumberField();
- this.stoneWeight.setFieldLabel("石重(克拉)");
- this.stoneWeight.setMaxLength(10);
- //响应光标离开输入框时的事件
- this.stoneWeight.addListener(Events.OnBlur, new Listener<BaseEvent>() {
- public void handleEvent(BaseEvent be) {
- setFormat(stoneWeight, stoneWeight.getRawValue());
- }
- }); // 单价
- this.unitPrice = new NumberField();
- this.unitPrice.setFieldLabel("<font color='red'>*</font>单价");
- this.unitPrice.setAllowDecimals(true);
- this.unitPrice.setAllowBlank(false);
- this.unitPrice.setMaxLength(10);
- this.unitPrice.setFormat(NumberFormat.getDecimalFormat());
- this.unitPrice.addListener(Events.OnBlur, new Listener<BaseEvent>() {
- public void handleEvent(BaseEvent be) {
- autoSetFormat(unitPrice, unitPrice.getRawValue());
- }
- });
- // 工艺费
- this.craftFee = new NumberField();
- this.craftFee.setFieldLabel("<font color='red'>*</font>工艺费");
- this.craftFee.setAllowDecimals(true);
- this.craftFee.setAllowBlank(false);
- this.craftFee.setMaxLength(10);
- this.craftFee.setFormat(NumberFormat.getDecimalFormat());
- this.craftFee.addListener(Events.OnBlur, new Listener<BaseEvent>() {
- public void handleEvent(BaseEvent be) {
- autoSetFormat(craftFee, craftFee.getRawValue());
- }
- });
- // 石重量
- this.stoneWeight = new NumberField();
- this.stoneWeight.setFieldLabel("石重(克拉)");
- this.stoneWeight.setMaxLength(10);
- this.stoneWeight.addListener(Events.OnBlur, new Listener<BaseEvent>() {
- public void handleEvent(BaseEvent be) {
- setFormat(stoneWeight, stoneWeight.getRawValue());
- }
- });
- // 总重
- this.totalWeight = new NumberField();
- this.totalWeight.setFieldLabel("总重(克)");
- this.totalWeight.setMaxLength(10);
- this.totalWeight.addListener(Events.OnBlur, new Listener<BaseEvent>() {
- public void handleEvent(BaseEvent be) {
- setFormat(totalWeight, totalWeight.getRawValue());
- }
- });
// 石重量 this.stoneWeight = new NumberField(); this.stoneWeight.setFieldLabel("石重(克拉)"); this.stoneWeight.setMaxLength(10); //响应光标离开输入框时的事件 this.stoneWeight.addListener(Events.OnBlur, new Listener<BaseEvent>() { public void handleEvent(BaseEvent be) { setFormat(stoneWeight, stoneWeight.getRawValue()); } }); // 单价 this.unitPrice = new NumberField(); this.unitPrice.setFieldLabel("<font color='red'>*</font>单价"); this.unitPrice.setAllowDecimals(true); this.unitPrice.setAllowBlank(false); this.unitPrice.setMaxLength(10); this.unitPrice.setFormat(NumberFormat.getDecimalFormat()); this.unitPrice.addListener(Events.OnBlur, new Listener<BaseEvent>() { public void handleEvent(BaseEvent be) { autoSetFormat(unitPrice, unitPrice.getRawValue()); } }); // 工艺费 this.craftFee = new NumberField(); this.craftFee.setFieldLabel("<font color='red'>*</font>工艺费"); this.craftFee.setAllowDecimals(true); this.craftFee.setAllowBlank(false); this.craftFee.setMaxLength(10); this.craftFee.setFormat(NumberFormat.getDecimalFormat()); this.craftFee.addListener(Events.OnBlur, new Listener<BaseEvent>() { public void handleEvent(BaseEvent be) { autoSetFormat(craftFee, craftFee.getRawValue()); } }); // 石重量 this.stoneWeight = new NumberField(); this.stoneWeight.setFieldLabel("石重(克拉)"); this.stoneWeight.setMaxLength(10); this.stoneWeight.addListener(Events.OnBlur, new Listener<BaseEvent>() { public void handleEvent(BaseEvent be) { setFormat(stoneWeight, stoneWeight.getRawValue()); } }); // 总重 this.totalWeight = new NumberField(); this.totalWeight.setFieldLabel("总重(克)"); this.totalWeight.setMaxLength(10); this.totalWeight.addListener(Events.OnBlur, new Listener<BaseEvent>() { public void handleEvent(BaseEvent be) { setFormat(totalWeight, totalWeight.getRawValue()); } });
响应事件的方法
- /**
- * 自动设置数字的格式
- * 如输入的为整数则自动加上两位小数
- * 如输入的带有小数则验证是否为两位小数,不是则报错
- * @param f为NumberField
- * @param value输入值
- */
- private static void autoSetFormat(NumberField f, String value) {
- if (!value.equals("")) {
- if (value.indexOf(".") == -1) {
- value += ".00";
- f.setRawValue(value);
- f.clearInvalid();
- } else {
- f.setRegex("^[\\d]*[\\.][\\d][\\d]$");
- f.getMessages().setRegexText("小数点后保留两位");
- }
- }
- }
- /**
- * 自动设置数字的格式
- * 如输入的为整数则自动加上三位小数
- * 如输入的带有小数则验证是否为三位小数,不是则报错
- * @param f为NumberField
- * @param value输入值
- */
- private static void setFormat(NumberField f, String value) {
- if (!value.equals("")) {
- if (value.indexOf(".") == -1) {
- value += ".000";
- f.setRawValue(value);
- f.clearInvalid();
- } else {
- f.setRegex("^[\\d]*[\\.][\\d]{3}$");
- f.getMessages().setRegexText("小数点后保留三位");
- }
- }
- }
/** * 自动设置数字的格式 * 如输入的为整数则自动加上两位小数 * 如输入的带有小数则验证是否为两位小数,不是则报错 * @param f为NumberField * @param value输入值 */ private static void autoSetFormat(NumberField f, String value) { if (!value.equals("")) { if (value.indexOf(".") == -1) { value += ".00"; f.setRawValue(value); f.clearInvalid(); } else { f.setRegex("^[\\d]*[\\.][\\d][\\d]$"); f.getMessages().setRegexText("小数点后保留两位"); } } } /** * 自动设置数字的格式 * 如输入的为整数则自动加上三位小数 * 如输入的带有小数则验证是否为三位小数,不是则报错 * @param f为NumberField * @param value输入值 */ private static void setFormat(NumberField f, String value) { if (!value.equals("")) { if (value.indexOf(".") == -1) { value += ".000"; f.setRawValue(value); f.clearInvalid(); } else { f.setRegex("^[\\d]*[\\.][\\d]{3}$"); f.getMessages().setRegexText("小数点后保留三位"); } } }
效果图在附件中
附
电子邮件
^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$
汉字(限定只能输入m-n个汉字,m,n值可以修改)
^[\u4e00-\u9fa5]{m,n}$
发表评论
-
EXT-GWT中TextField输入位数限制
2009-08-19 23:51 2499extjs中TextField有setMaxLength()和 ... -
EXT-GWT为表格添加链接,点击链接后弹出Window并获得点击行的所有数据值
2009-08-19 23:49 3121** *SysParaConfig是一个实现了IsSer ... -
EXT-GWT的Radio使用实例
2009-08-19 23:46 3202历时两个多月的百万级别的项目终于处于收尾阶段了。终于可以抽点 ... -
EXT-GWT--ComboBox使用实例
2009-08-19 23:32 4343最近用EXT-GWT写了很多界面,遇到了些问题,现在抽时间把这 ... -
GWT-EXT的RPC抛出异常
2009-08-19 23:27 3937EXT-GWT运行抛异常 关键字: gwt成长之路 最近一段 ... -
GWT-EXT的RPC调用出错
2009-08-19 23:25 2192EXT-GWT的RPC调用出错问题 关键字: gwt成长之路 ...
相关推荐
这篇博客文章的标题“gwt-ext 实例”表明,作者分享了一个关于如何在GWT项目中使用gwt-ext库的实际示例。通过这个实例,读者可以学习到如何引入gwt-ext库,创建和配置UI组件,以及如何将这些组件整合到GWT应用中。 ...
### Gwt-Ext:强大的网页开发控件库详解 Gwt-Ext,作为一个结合了Google Web Toolkit(GWT)和ExtJs的高级网页开发控件库,为纯Java语言的富互联网应用程序(RIA)开发提供了强有力的支持。尤其对于初学者而言,Gwt...
#### 四、运行GWT-Ext实例 最后一步是修改`Register.java`模型文件,以便能够看到GWT-Ext的实际效果。 1. **修改模型文件** - 在`Register.java`中定义`createComponents()`方法,并在`onModuleLoad()`方法中...
本教程将逐步引导你了解GWT-Ext的基础知识,并通过实例教你如何创建和配置组件,处理事件,以及实现数据绑定。随着对GWT-Ext的深入理解,你将能开发出功能强大且用户友好的Web应用。 通过阅读提供的“gwt-ext培训...
GWT-Ext是一个基于Google Web Toolkit (GWT)的用户界面库,它为开发者提供了丰富的JavaScript组件和功能,使得在GWT应用中构建复杂的、交互式的Web界面变得更加容易。GWT是一个由Google开发的开放源代码框架,允许...
Gwt-Ext是一种基于Google Web Toolkit (GWT)的JavaScript库,它扩展了GWT的功能,提供了丰富的用户界面组件和更美观的外观。这个压缩包包含的资源是关于Gwt-Ext的基础、中级和进阶学习资料,适合想要深入理解和应用...
【GWT-Ext 知识点详解】 GWT-Ext 是一个高级的网页开发控件库,它结合了 Google Web Toolkit (GWT) 和 ExtJs 的优势,为开发者提供了丰富的 UI 组件和强大的功能。GWT 是一个由 Google 开发的用于构建富互联网应用...
在深入探讨GWT-Ext之前,我们先了解一下GWT(Google Web Toolkit)和Ext Js的基础。GWT是一个开源的开发工具,允许开发者使用Java语言来编写客户端的Web应用程序,然后将其编译为优化过的JavaScript代码,以实现高...
GWT-Ext-Tree 是一个基于 Google Web Toolkit (GWT) 的组件库,它扩展了 GWT 的功能,提供了一套强大的、可定制的树形控件。GWT 是一个用于构建富互联网应用程序(RIA)的 Java 开发框架,允许开发者使用 Java 语言...
【GWT-Ext 知识点详解】 GWT-Ext 是一个基于 Google Web Toolkit (GWT) 和 ExtJS 的开源控件库,专为构建富互联网应用程序(RIA)提供强大的功能。它允许开发者使用纯 Java 语言进行界面开发,极大地提高了开发效率。...
《GWT-EXT2.0最佳实践教程》源代码打包下载资源主要涵盖了Google Web Toolkit (GWT) 和EXT-JS 2.0的结合使用,提供了丰富的实践案例和示例代码,旨在帮助开发者深入理解和应用这两项技术。GWT是一款强大的JavaScript...
GWT(Google Web Toolkit)和Ext JS是两个在Web开发领域广泛应用的技术,它们结合形成的Gwt-ext库,为开发者提供了一种构建富客户端应用程序的强大工具。这篇学习笔记将深入探讨Gwt-ext的核心概念、功能以及如何在实际...
#### 五、运行GWT-EXT实例 **步骤一:修改Register.java模型文件** 1. 在`Register.java`文件中,修改`onModuleLoad()`方法,实现UI组件的创建和显示: ```java public class Register implements EntryPoint { ...
GWT-Ext超级Widget功能类库是一个基于Google Web Toolkit (GWT)的扩展库,它为开发者提供了丰富的用户界面组件和强大的功能,旨在提升Web应用的用户体验和开发效率。GWT是一个开源框架,允许Java开发者使用Java语言...
标题中的"Gwt-Ext学习笔记之基础篇"指的是关于Gwt-Ext的初级教程,这是一种基于Google Web Toolkit (GWT) 的扩展库,用于构建富互联网应用程序(RIA)。Gwt-Ext提供了丰富的用户界面组件,使得开发者可以利用Java语言...
GWT-Ext 控件演示 GWT-Ext 控件演示