因此,在我的应用程序中,用户可以选择输入备注。我有一些用javascript编写的验证代码来删除双引号和单引号,以便它可以在数据库中正确保存。
var s2 = document.getElementById("txtMRCommentEntry").value;
var result = s2.indexOf('"');
如果我手动将数据输入到文本框中,或者从word,pdf等中粘贴数据,此代码可以正常工作。我会正确返回索引以进行验证。
但是如果从outlook复制文本并将其粘贴到文本框中,则indexOf函数不起作用。它返回-1,无论我从outlook复制的是什么文本。
我不确定问题是什么,如果每个人都面临同样的问题。
答案 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;
}