【发布时间】:2019-07-09 06:24:06
【问题描述】:
在javascript 中,我如何检查用户是否在text 中有'=',他们正在粘贴并防止text 被粘贴在textbox 中。我发现它有点棘手。我正在研究一个漏洞问题,即不允许用户在input 字段中输入=,我在某种程度上实现了用户无法在文本字段中输入但可以复制粘贴的问题,这是一个问题。下面是我的代码。请帮忙。
$(document).ready(function()
{
inPutCheckForText();
});
function inPutCheckForText()
{
fields = document.getElementsByTagName('input');
for (index = 0; index < fields.length; ++index)
{
fields[index].addEventListener("keydown", function(event)
{
if (event.keyCode === 187)
{
console.log("blocked.");
event.preventDefault();
return false;
}
});
}
}
【问题讨论】:
-
而不是
keydown听change事件。在回调中查看您的值中是否有=,如果您删除它 -
要从粘贴的文本中删除特定字符,您可以为粘贴事件设置一个处理程序(请参阅:developer.mozilla.org/en-US/docs/Web/API/Element/paste_event),但这不会修复您的漏洞!脚本仍然可以插入这些字符。使用时需要验证输入数据。永远不要相信来自未知来源的任何数据。
标签: javascript jquery regex events input