TextInput如何限制文本输入的类型

在制作Flash表单的时候,我们通常需要限定一下用户输入数据的类型,比如我有一个文本框用于输入电话号码,那么如果用户输入了字母和或者其它的非法格式的数据,我就要在逻辑上停止表单的提交以及给予用户充分的提示。这属于一个表单验证的范畴,一个思路是我们使用验证器(Flex框架内的或者我们自己定义的),在提交之前先用验证器验证输入格式是否合法(当然验证器内部的工作机制应该是基于正则表达式的)。

除了这种方式,我们还可以使用TextField本身的输入限制属性(TextField.restrict)来限制用户的输入类型。并且这个属性非常灵活的地方在于,它可以接受正则表达式,所以可以很好的完成输入验证。

比如一些常用的输入限制:

Java代码 复制代码
  1. my_txt.restrict = "A-Z 0-9";//仅允许在文本字段中输入大写字符、空格和数字  
my_txt.restrict = "A-Z 0-9";//仅允许在文本字段中输入大写字符、空格和数字
Java代码 复制代码
  1. my_txt.restrict = "^a-z";//包含除小写字母之外的所有字符  
my_txt.restrict = "^a-z";//包含除小写字母之外的所有字符
Java代码 复制代码
  1. my_txt.restrict = "\\-\\^";//以使用反斜杠输入 ^ 或 - 的本义。 认可的反斜杠序列为 \-、\^ 或 \\。 反斜杠在字符串中必须是一个本义字符,因此在 ActionScript 中指定时必须使用两个反斜杠。 这段代码只包含短划线 (-) 和尖号 (^)  
my_txt.restrict = "\\-\\^";//以使用反斜杠输入 ^ 或 - 的本义。 认可的反斜杠序列为 \-、\^ 或 \\。 反斜杠在字符串中必须是一个本义字符,因此在 ActionScript 中指定时必须使用两个反斜杠。 这段代码只包含短划线 (-) 和尖号 (^)
Java代码 复制代码
  1. my_txt.restrict = "A-Z^Q";//可在字符串中的任何地方使用 ^,以在包含字符与排除字符之间进行切换。 这段代码只包含除大写字母 Q 之外的大写字母  
my_txt.restrict = "A-Z^Q";//可在字符串中的任何地方使用 ^,以在包含字符与排除字符之间进行切换。 这段代码只包含除大写字母 Q 之外的大写字母
Java代码 复制代码
  1. my_txt.restrict = " -~";//只包含从 ASCII 32(空格)到 ASCII 126(代字号)之间的字符  

你可能感兴趣的:(框架,正则表达式,Flex,Flash,actionscript)