textinput restrict(正则表达式,约束,限定)

通常要对输入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中输入正则表达式进行输入的限制,只要掌握了正则表达的编写就可以实现简单的输入限制,避免了输入的严重

你可能感兴趣的:(xml,正则表达式,Flex,Adobe)