可以轻松地限制TextInput
中的字符,但如何在不手动解析restrict
属性的情况下检查特定字符是否受限制?
例如:restrict='a-zA-Z^L-W'
。
如何获得B
被允许且M
被禁止?
如果重要,我需要此功能向用户显示他的按键操作不会影响输入内容的原因。
我能够通过检查input.text.indexOf(keydownchar)==-1
来实现该消息,但是我感兴趣的是是否有任何SDK方法来检查char而不尝试将其附加到输入控件中。
答案 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
会产生与性能开销相同的结果。