javascript - 如何在具有 maxLength 属性的输入中获取所有粘贴的字符串?

标签 javascript html string clipboard paste

我需要在具有 maxLength 属性的输入中获取所有粘贴的字符串。
但是在“onpaste”事件中,没有属性可以获取所有粘贴的字符串。
例如,使用此字符串检查以下代码段:
“AAAAA-BBBBB-BBBBB-BBBBB-BBBBB”
输出为:“AAAAA”
但我需要所有的字符串。

const onPasteFn = (e) => {
  setTimeout(() => document.getElementById("demo").innerHTML = e.target.value, 0)
}
<input type="text" maxLength="5" onpaste="onPasteFn(event)" />

<p id="demo"></p>

最佳答案

考虑使用 clipboardData从事件中,您可以使用 getData() 抓取从剪贴板粘贴的文本,如下所示:

const onPasteFn = (e) => {
  document.getElementById("demo").textContent = (e.clipboardData || window.clipboardData).getData('text');
}
<input type="text" maxLength="5" onpaste="onPasteFn(event)" />

<p id="demo"></p>

见示例 here从文档。注意 || window.clipboardData 的回退用于 IE 支持。

关于javascript - 如何在具有 maxLength 属性的输入中获取所有粘贴的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63213204/

相关文章:

javascript - Internet Explorer Internet 故障 HTTP 状态代码

java - 如何搜索字符串模式?

c - 如何在 C 中按索引连接两个字符串数组?

javascript - 如何在 div 输出中添加新行

javascript - 使用 jquery 获取引用 url 的一部分

javascript - 单击按钮时,我希望从弹出页面到父页面显示多个选定的复选框行

javascript - 禁用在手机上以较低宽度自动播放的视频

html - 在标题文本末尾放置一个图标

javascript - 没有jquery的视差淡入淡出

java - 如何在JAVA中从字符串(字符数组)中提取键值