如何检查TextInput中是否限制了字符?

时间:2014-08-08 08:46:25

标签: flex textinput flex-spark

可以轻松地限制TextInput中的字符,但如何在不手动解析restrict属性的情况下检查特定字符是否受限制?

例如:restrict='a-zA-Z^L-W'。 如何获得B被允许且M被禁止?

如果重要,我需要此功能向用户显示他的按键操作不会影响输入内容的原因。

我能够通过检查input.text.indexOf(keydownchar)==-1来实现该消息,但是我感兴趣的是是否有任何SDK方法来检查char而不尝试将其附加到输入控件中。

2 个答案:

答案 0 :(得分:0)

没有SDK方法来检查传入的char。您必须查询restrict文本(理想情况下是changing事件)。

答案 1 :(得分:0)

可以用

完成
StringUtil.restrict(str:String, restrict:String):String

这正是文本显示控件(如RichEditableText)用来处理restrict属性的方法。

还有更合适的方法来测试单个字符,但不幸的是它是私有的:

StringUtil.testCharacter(charCode:uint, restrict:String):Boolean

无论如何,它都在StringUtil.restrict中使用,因此使用StringUtil.restrict代替testCharacter会产生与性能开销相同的结果。