我有一个TextInput框。我必须在文本Box中限制超过1,2,3,4,5,6,7,8,9,10个数字的范围。如果我输入任何数字,则应该允许。如果输入11或更多,则不允许输入。它应该允许从文本框中的1- 10位数字。 如果输入11或0则不允许,不允许超过10个。
请帮我解决如何在Flex中的TextInput Box中限制它。如果有人知道正则表达,请帮助我。
答案 0 :(得分:5)
如果用户可以输入的唯一内容是数字1到10,则
请尝试使用NumericStepper
组件。
此组件具有您所描述的功能。
例如:
<s:NumericStepper minimum="1" maximum="10" value="0" stepSize="1" maxChars="10"/>
其中:
查看了livingocs:
干杯
答案 1 :(得分:3)
您可以使用restrict属性限制输入到TextInput中的字符。如果您只想输入数字,可以执行以下操作:
<s:TextInput restrict="0-9" />
您可以使用maxChars property限制输入TextInput的字符总数。
<s:TextInput maxChars="10" />
他们没有理由不能合并
<s:TextInput maxChars="10" restrict="0-9" />
如果您只接受数字输入,则还可以使用NumericStepper组件。
<s:NumericStepper maximum="1" maximum="9999999999" />
我不确定NumericSteppers是否有上限。
这会回答你的问题吗?
答案 2 :(得分:0)
使用mx:TextInput
,因为它有textInput
事件
<mx:TextInput id="ti" restrict="0-9" textInput="Myfun(event)"/>
然后您的Myfun
将是:
private function Myfun(ev:TextEvent):void
{
if(Number(ti.text + ev.text)>10)
ev.preventDefault();
}
这不允许您键入大于10的数字
如果您想使用10位数字..
<s:TextInput maxChars="10" restrict="0-9" />