TextInputで文字と文字数の制限をする

TextInputでの文字と文字数の制限方法の紹介です。


文字の制限は、
英字のA〜Zをだけを入力できるようにしたいとか、
数字の0〜9までを入力できるようにしたいとか、
英数字でA〜Zと0〜9まで入力できるようにしたいとか、
です。


方法は簡単です。
TextInputクラスに"restrict"というプロパティがあるので、
それに文字の制限を指定してあげるだけでOKです。


たとえば、A〜Zだけを入力できるようにしたいのであれば、
restrict="[A-Z]"
とするだけです。
英数字であっても、
restrict="[A-Z,0-9]"
とコンマで区切ってあげて、プラスの設定をするだけです。


このように簡単に実装できます。


次に、文字数制限ですが、
TextInputクラスの"maxChars"というプロパティがあるので、
それに文字数の制限数を設定してあげればOKです。


3文字制限にしたいのであれば、
maxChars="3"とするだけ!!
簡単ですねw


今回は、適当にサンプルソースを載せておきます。
自分のメモ程度に書いているので、
適当な書き方ですみません…;;

<?xml version="1.0" encoding="utf-8"?>
<!-- TextInputコンポーネントの文字と文字数の制限方法 -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:VBox width="100%" height="100%">
		<!-- A~Zしか入力できなくする -->
		<mx:HBox width="100%" horizontalAlign="center">
			<mx:Label text="A~Zしか入力できない"/>
			<mx:TextInput restrict="[A-Z]"/>
		</mx:HBox>
		
		<!-- 0~9しか入力できなくする -->
		<mx:HBox width="100%" horizontalAlign="center">
			<mx:Label text="0~9しか入力できない"/>
			<mx:TextInput restrict="[0-9]"/>
		</mx:HBox>
		
		<!-- a~zしか入力できなくする -->
		<mx:HBox width="100%" horizontalAlign="center">
			<mx:Label text="a~zしか入力できない"/>
			<mx:TextInput restrict="[a-z]"/>
		</mx:HBox>
		
		<!-- A~Zとa~zしか入力できなくする -->
		<mx:HBox width="100%" horizontalAlign="center">
			<mx:Label text="A~Zとa~zしか入力できない"/>
			<mx:TextInput restrict="[A-z,a-z]"/>
		</mx:HBox>
		
		<!-- 文字数制限をする(3文字制限) -->
		<mx:HBox width="100%" horizontalAlign="center">
			<mx:Label text="3文字までしか入力できない"/>
			<mx:TextInput maxChars="3"/>
		</mx:HBox>
	</mx:VBox>
</mx:Application>