1

编辑:

请访问这里:

Flex textArea 删除/替换无效的小方块

似乎是问题所在,需要为此找到解决方案。

原来的:

我们有一个应用程序,用户可以在其中创建电子邮件并将其发送给不同的用户。我们将电子邮件消息创建为 XML 消息(发件人、目的地、主题、正文等)并将其放入队列中。

另一个应用程序接收消息,对其进行解析并发送电子邮件。我们无法控制它。

现在问题出在测试期间,我们的测试人员从 Word 中复制/粘贴了一些文本并使用了它。现在可能有一些无效字符(在新行或制表符上)在解析器中失败。错误是:

Invalid character in attribute value BODY (Unicode: 0x1A) 

所以现在我们需要防止发送这些无效字符。所以我尝试使用 textArea 限制。在creationComplete上是这样的:

contentTextArea.restrict = "A-Z a-z 0-9 .,!@#$%*-+[]{}()/' \u2424\\";

但不起作用。当我删除 \u2424\ 它可能有效,但它会删除所有新行。那么我需要使用正则表达式替换吗?

对此的任何帮助将不胜感激。

尝试的文字是:

One area where the applications differ greatly is security.  Adding or removing a Permission within a Role does not require a deployment, simply a ‘data fix’.

During development it was communicated that the audience of users .  As such there was no mechanism constructed to migrate between the two systems.  The purpose of this document is to outline two strategies for bring the user base between the two applications into sync.
 

此文本上有制表符/换行符等。

非常感谢

哈里什

4

1 回答 1

0

我能够通过使用 textArea changedHandler 只允许某些字符来处理它:

if (event.operation is PasteOperation)
    {
        event.preventDefault();
        var txt:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT).
                        toString().replace(/[^A-Za-z0-9\s$%&*!@-_().]/ig, "");
             ......
    }
于 2012-10-25T18:36:18.887 回答