防止在javascript中粘贴单引号和双引号

防止在javascript中粘贴单引号和双引号,javascript,jquery,Javascript,Jquery,我需要防止在javascript中将单引号和双引号粘贴到文本区域中 HTML 如何防止粘贴文本时出现相同情况。(ctrl+v)侦听器输入事件 var t = document.getElementById("text"); t.addEventListener("input", function (){ var str = this.value; if (str.search(/'|"/g) !== -1) { alert("\'\"is not allowed"

我需要防止在javascript中将单引号和双引号粘贴到文本区域中

HTML


如何防止粘贴文本时出现相同情况。(ctrl+v)

侦听器输入事件

var t = document.getElementById("text");
t.addEventListener("input", function (){
    var str = this.value;
    if (str.search(/'|"/g) !== -1) {
        alert("\'\"is not allowed");
    }
}, false);

演示:

侦听器输入事件

var t = document.getElementById("text");
t.addEventListener("input", function (){
    var str = this.value;
    if (str.search(/'|"/g) !== -1) {
        alert("\'\"is not allowed");
    }
}, false);

演示:

您需要捕获的不仅仅是按键事件-Ctrl+V或右键单击并粘贴也可以插入字符(以及较早的Shift+insert)。根据您的使用情况,您可能希望在提交之前删除不需要的字符。但是,如果要在事件上显示,则根据事件类型,捕获所有事件并用清除的文本替换文本

$('#txtTest').val($('#txtTest').val().replace(/['"]/g, ''));

这将删除所有单引号和双引号(虽然不是“智能”引号)。

您需要捕获的不仅仅是按键事件-Ctrl+V或右键单击并粘贴也可以插入字符(以及较早的Shift+insert)。根据您的使用情况,您可能希望在提交之前删除不需要的字符。但是,如果要在事件上显示,则根据事件类型,捕获所有事件并用清除的文本替换文本

$('#txtTest').val($('#txtTest').val().replace(/['"]/g, ''));
这将删除所有单引号和双引号(虽然不是“智能”引号)。

可能是这样的:

可能是这样的:


除了编写逻辑代码外,您还必须考虑如何在适当的时间调用代码。这里有一个演示。在每个系统粘贴事件(鼠标或键盘)上,将运行以下代码并执行该操作。不需要任何
ASCII码

使用以下命令:

$('textarea').on('paste', function () {
    var element=$(this);
  setTimeout(function () {
    element.val(element.val().replace(/['"]/g, ""));
  }, 1);
});

检查

除了编码逻辑外,还必须考虑如何在适当的时间调用代码。这里有一个演示。在每个系统粘贴事件(鼠标或键盘)上,将运行以下代码并执行该操作。不需要任何
ASCII码

使用以下命令:

$('textarea').on('paste', function () {
    var element=$(this);
  setTimeout(function () {
    element.val(element.val().replace(/['"]/g, ""));
  }, 1);
});

检查

应为
(T打字错误)检查我的解决方案是否存在任何系统粘贴事件(键盘+鼠标)。粘贴时立即捕获并删除引号。也请检查演示。应该是
(T typo)检查我的解决方案中的任何系统粘贴事件(键盘+鼠标)。粘贴时立即捕获并删除引号。也请检查演示。您也不能粘贴。您也不能粘贴。这当然不是删除“and”。这当然不是删除“and”。