在Flex中的textInput Box中限制数字1-10

时间:2011-11-16 14:17:55

标签: actionscript-3 flex actionscript flex4 flex3

我有一个TextInput框。我必须在文本Box中限制超过1,2,3,4,5,6,7,8,9,10个数字的范围。如果我输入任何数字,则应该允许。如果输入11或更多,则不允许输入。它应该允许从文本框中的1- 10位数字。 如果输入11或0则不允许,不允许超过10个。

请帮我解决如何在Flex中的TextInput Box中限制它。如果有人知道正则表达,请帮助我。

3 个答案:

答案 0 :(得分:5)

如果用户可以输入的唯一内容是数字1到10,则 请尝试使用NumericStepper组件。

此组件具有您所描述的功能。

例如:

<s:NumericStepper minimum="1" maximum="10" value="0" stepSize="1" maxChars="10"/>

其中:

  • 最低是允许的最低值
  • 最大是允许的最大值
  • 是初始值
  • maxChars 是允许的字符数
  • stepsize 是使用箭头按钮增加或减少金额的金额

查看了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" />