通常要对输入TextInput中的数据进行验证,如:年龄等,如果避免这些简单的验证,而只需限制用户输入呢?下面我写了一个例子,也就是通过TextInput自带的restrict属性,实现的效果如下:
实现的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12">
<mx:Label x="540.5" y="57" text="flex TextInput restrict(正则表达式,约束,限定)" fontWeight="bold"/>
<mx:Text x="476.5" y="112" text="Flex中TextInput的一个比较有用的属性restrict(约束,限定),看下面例子: "/>
<mx:Label x="476.5" y="156" text="1、"/>
<mx:TextInput id="test1" width="160" maxChars="20" restrict="0-9" text="0" x="509.5" y="154"/>
<mx:Text x="509" y="186" text="这个输入框最多只能输入20个字符,只能输入0到9之间的数字了,你如果输入别的是输入不进去的" color="#FF0000"/>
<mx:Label x="476.5" y="216" text="2、"/>
<mx:TextInput id="test2" width="160" maxChars="20" restrict="0-9\." text="0" x="509.5" y="214"/>
<mx:Text x="509.5" y="246" text="输入框可以输入0到9之间的数字,以及输入'.',中间必须用'\'分隔开来" color="#FF0000"/>
<mx:Label x="476.5" y="276" text="3、"/>
<mx:TextInput id="test3" width="160" restrict="0-9\ab" text="0" x="509" y="274"/>
<mx:Text x="509.5" y="306" text="输入框可以输入0到9之间的数字,以及a,或b" color="#FF0000"/>
<mx:Label x="476.5" y="336" text="4、"/>
<mx:TextInput id="test4" width="160" restrict="a-z" text="0" y="334" x="509"/>
<mx:Text x="509" y="366" text="可以输入a到z之间任何一个英文字母,'-'表示区间,如果要输入'-',就必须加'\',如\-" color="#FF0000"/>
<mx:Text x="242" y="422" text="结论:
用restrict有个好处,就是省去了验证的麻烦,比如检验是否为数字,如果加了restrict="0-9",就不需要检验了,因为这个输入框只能输入0到9之间的数字,别的输不进去"/>
</mx:Application>
说白了就是在restrict中输入正则表达式进行输入的限制,只要掌握了正则表达的编写就可以实现简单的输入限制,避免了输入的严重