限制TextInput
中的字符可以很容易地完成,但是我如何检查特定字符是否受到限制而不手动解析restrict
属性?
例如:restrict='a-zA-Z^L-W'
。我怎么得到B
是允许的,M
是禁止的?
如果这很重要,我需要这个功能向用户展示为什么他的按键不影响输入内容的解释。
我能够通过检查input.text.indexOf(keydownchar)==-1
来实现消息,但我感兴趣的是,如果有任何SDK方法来检查char而不试图将其附加到输入控件中。
没有SDK方法来检查传入的字符。您必须查询restrict
文本(理想情况下是在changing
事件上)。
可以用
StringUtil.restrict(str:String, restrict:String):String
这正是RichEditableText
等文本显示控件处理restrict
属性所使用的方法。
也有更合适的方法来测试单个字符,但不幸的是它是私有的:
StringUtil.testCharacter(charCode:uint, restrict:String):Boolean
无论如何,它是在StringUtil.restrict
中使用的,所以使用StringUtil.restrict
而不是testCharacter
将产生相同的性能开销的结果。