js字符串中的字符索引对某些字符串不起作用

时间:2015-02-13 10:33:25

标签: javascript outlook

因此,在我的应用程序中,用户可以选择输入备注。我有一些用javascript编写的验证代码来删除双引号和单引号,以便它可以在数据库中正确保存。

        var s2 = document.getElementById("txtMRCommentEntry").value;
    var result = s2.indexOf('"');

如果我手动将数据输入到文本框中,或者从word,pdf等中粘贴数据,此代码可以正常工作。我会正确返回索引以进行验证。

但是如果从outlook复制文本并将其粘贴到文本框中,则indexOf函数不起作用。它返回-1,无论我从outlook复制的是什么文本。

我不确定问题是什么,如果每个人都面临同样的问题。

1 个答案:

答案 0 :(得分:0)

事实证明,我不能只使用"为了验证,因为前景卷曲了报价。添加了对“和”的检查。现在一切都很好。

非常感谢,Guffa先生

另外,我不能只为一个卷曲的报价做indexOf。这是更新的代码,以防其他人需要它。

        var commentString = document.getElementById("txtMRCommentEntry").value;
    commentString = commentString.replace(/\u201C/g, "“").replace(/\u201D/g, "”");
    var result = commentString.indexOf('"');
    if (result == "-1") {
        result = commentString.indexOf('“');
    }
    if (result == "-1") {
        result = commentString.indexOf('”');
    }
    if (result != "-1") {
        alert("Please remove double quotes from the description");
        return false;
    }