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

index of a character in a js string doesn't work for some strings

本文关键字:字符串 不起作用 索引 字符 js      更新时间:2023-10-24

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

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

如果我手动将数据输入到文本框中,或者从word、pdf等中粘贴数据,则此代码运行良好。我会正确返回索引进行验证。

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

我不确定问题是什么,是否有人都面临同样的问题。

事实证明,当outlook卷曲报价时,我不能只使用"进行验证。还添加了对"answers"的检查。现在一切都好了。

非常感谢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;
    }