一种输入字符控制方法和系统技术方案

技术编号:7507774 阅读:103 留言:0更新日期:2012-07-11 06:44
本发明专利技术实施例公开了一种输入字符控制方法,包括:接收字符输入指令,所述字符输入指令包括输入字符;根据所述输入字符所属控制区域以及预设的正则表达式判断所述输入字符是否满足输入要求,若判断为是,则保存所述输入字符。本发明专利技术实施例还公开了一种输入字符控制系统。采用本发明专利技术,通过根据输入字符所属控制范围以及预设的正则表达式来判断输入字符是否被允许输入,使用户只需设置输入项相应的属性,就可以轻松地实现对输入项的字符输入范围的控制。

【技术实现步骤摘要】

本专利技术涉及计算机文字控制领域,尤其涉及一种输入字符控制方法和系统。技术背景在使用MaskecTTextBox控件(掩码文本框控件)时,指定Mask属性限定了输入字符的样式,例如时间输入项00 00 00。时间输入项00 00 00可以分为三个区域,分别是用于表示小时的时区域、用于表示分钟的分区域和用于表示秒钟的秒区域,这三个00的取值范围往往是不一样的,如图1所示,时区域的00的范围为0-23,其中十位上的0的范围为0-2, 个位上的0的范围为0-9 ;分区域以及秒区域上的00的范围都为0-59,其中十位上的0的范围为0-5,个位上的0的范围为0-9。在现有技术中,要实现对时间输入项中这三个00的取值范围的限定和控制,需要编写很多复杂的代码。一般而言,可以通过下面的方法来分别控制00:00:00中的三个“00” 的取值范围例如当用户想改变00:00:00区域的时间,会对00:00:00区域输入字符,然后通过研发人员编写的逻辑代码对输入的字符进行位置判断,根据该位置对应的控制代码段来判断该字符是否可以输入,以达到过滤的目的,例如用户在时区域输入95,那么程序将判断出该字符不能输入,该输入将失效。这种方案的判断过程完全由程序代码实现,需要很多的控制代码,在开发过程中,研发人员每次需要生成00:00:00,使用MaskedTextB0x控件进行控制时都必须编写逻辑几乎一样的代码,极大地浪费了时间、人力和物力。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种输入字符控制方法和系统。可彻底解决对MaskedTextBox输入项字符输入范围的限定和控制较为困难及复杂的问题。为了解决上述技术问题,本专利技术实施例提供了一种输入字符控制方法,包括 接收字符输入指令,所述字符输入指令包括输入字符;根据所述输入字符所属控制区域以及预设的正则表达式判断所述输入字符是否满足输入要求,若判断为是,则保存所述输入字符。其中,在所述接收字符输入指令的步骤之后,所述方法还包括 判断所述输入字符是否为合法的字符类型;若判断为是,则执行所述根据所述输入字符所属控制区域以及预设的正则表达式判断所述输入字符是否满足输入要求的步骤。其中,在所述根据所述输入字符所属控制区域以及预设的正则表达式判断所述输入字符是否满足输入要求的步骤之前,所述方法还包括通过字符串集合编辑器接收正则表达式输入,并将接收的正则表达式作为预设的正则表达式保存。其中,所述控制区域包括时区域、分区域和秒区域,所述输入字符的合法字符类型为数字。其中,所述接收字符输入指令的步骤包括截获MaskedTextBox控件的KeyDown消息或者KeyPress消息,接收字符输入指令。相应地,本专利技术实施例还提供了一种输入字符控制系统,包括输入指令获取模块,用于接收字符输入指令,所述字符输入指令包括输入字符; 第一判断模块,用于根据所述输入字符所属控制区域以及预设的正则表达式判断所述输入字符是否满足输入要求;字符更新模块,用于在所述第一判断模块的判断结果为是时,保存所述输入字符。其中,所述系统还包括第二判断模块,用于判断所述输入字符是否为合法的字符类型,并在判断为是时,通知所述第一判断模块继续根据所述输入字符所属控制区域以及预设的正则表达式判断所述输入字符是否满足输入要求。其中,所述系统还包括字符串集合编辑器,用于接收正则表达式输入,并将接收的正则表达式作为预设的正则表达式保存。其中,所述控制区域包括时区域、分区域和秒区域,所述输入字符的合法字符类型为数字。其中,所述输入指令获取模块包括截获单元,用于截获MaskedTextBox控件的KeyDown消息或者KeyPress消息,接收字符输入指令。实施本专利技术实施例,具有如下有益效果通过根据输入字符所属控制范围以及预设的正则表达式来判断输入字符是否被允许输入,使用户只需设置输入项相应的属性,就可以轻松地实现对输入项的字符输入范围的控制。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是时间输入项的界面示意图;图2是本专利技术提供的输入字符控制方法的第一实施例流程图; 图3是本专利技术提供的输入字符控制方法的第二实施例流程图; 图4是本专利技术提供的输入字符控制系统的第一实施例结构示意图; 图5是本专利技术提供的输入字符控制系统的第二实施例结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图2,为本专利技术提供的输入字符控制方法的第一实施例流程图。如图1所示, 该方法流程包括在步骤S200,接收字符输入指令,其中,字符输入指令包括输入字符。在步骤S201,根据输入字符所属控制区域以及预设的正则表达式判断所述输入字符是否满足输入要求。若判断为否,则本方法流程结束;若判断为是,则执行步骤S202。在步骤S202,保存所述输入字符。本专利技术一种输入字符控制方法通过根据输入字符所属控制范围以及预设的正则表达式来判断输入字符是否被允许输入,使用户只需设置输入项相应的属性,就可以轻松地实现对输入项的字符输入范围的控制。参见图3,为本专利技术提供的输入字符控制方法的第二实施例流程图。如图3所示, 该方法流程包括在步骤S300,通过字符串集合编辑器接收正则表达式输入,并将接收的正则表达式作为预设的正则表达式保存。在计算机科学中,正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。在本专利技术中,可以利用预先设置的正则表达式来控制输入字符的输入范围。具体地,可以通过字符串集合编辑器接收正则表达式输入,作为输入项的特定属性。在步骤S301,接收字符输入指令,其中,字符输入指令包括输入字符。具体地, 在使用MaskecTTextBox控件(掩码文本框控件)实施输入项时,字符输入指令还可以包括 KeyDown消息或者KeyPress消息。在本步骤S301中,可以截获MaskedTextBox控件的 KeyDown消息或者KeyPress消息,接收字符输入指令。其中,KeyDown消息或者KeyPress 消息均在MaskedTextBox控件接收到用户输入的输入字符时生成。在步骤S302,判断所述输入字符是否为合法的字符类型。具体地,可以预先对输入项的每个控制区域设置字符类型属性,以便首先判断输入字符是否为合法的字符类型。例如,若输入项为时间输入,那么该输入项每个控制区域的合法字符类型均为数字。通过这种字符类型的判断,可以更快地确定不符合输入要求的输入字符。若本步骤S302的判断结果为否,则本方法流程结束;若判断为是,则执行步骤S303。在步骤S本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:薛顺
申请(专利权)人:深圳市万兴软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术