JavaScript String替换并在Paste上回发到RadTextBox

时间:2016-03-02 17:29:12

标签: javascript asp.net regex

我有一个RadTextBox:

<telerik:RadTextBox ID="txtBox" TextMode="MultiLine" Width="635px" TabIndex="2" Rows="6" runat="server" onpaste="JavaScript:return RestrictCopyPaste();"></telerik:RadTextBox> 

粘贴到文本框时调用以下JavaScript函数:

    function RestrictCopyPaste() {
        var txt = clipboardData.getData('Text')
        txt = txt.replace("[^\u0000-\u007F]", "");
        document.getElementById("<%= txtBox.ClientID%>").value = txt
    }

我想用空字符串替换正则表达式代码中的每个字符。这样做的目的是删除粘贴上的所有非ASCII字符。目前,当我复制并粘贴到文本框中时,它只是复制了我正在粘贴的内容。

有关如何使其发挥作用的任何想法吗?

1 个答案:

答案 0 :(得分:1)

您需要使用带有/g修饰符的正则表达式文字:

txt = txt.replace(/[^\u0000-\u007F]/g, "");

否则,您需要使用这样的RegExp构造函数表示法:

txt = txt.replace(RegExp("[^\\u0000-\\u007F]", "g"), "");