仅从输入值中的粘贴值中获取第一个字符串
Taking only first string from paste value in input value
我只想从复制粘贴值中获取第一个值。
例如:
我的复制文本是:Lorem Lipsum Test
所以当我复制上面的文本并将其粘贴到 HTML 输入字段时,只需要 "Lorem" 我不需要其他文本
有什么办法可以实现这些东西吗?
提前致谢。
您可以添加一个输入事件来查看您要添加到您的元素的内容。此代码将拆分您粘贴的文本并仅添加第一个单词。
const input = document.querySelector('input');
const log = document.getElementById('values');
input.addEventListener('input', updateValue);
var previousValue = "";
function updateValue(e) {
log.textContent = e.data;
if (e.data && e.inputType == "insertFromPaste") {
if (e.data.length > 1) {
let val = e.data.split(" ")[0];
let str = previousValue + val;
e.target.value = str;
}
}
previousValue = e.target.value;
}
<input placeholder="Enter some text" name="name"/>
<p id="values"></p>
它只是 returns 始终是字符串输入的第一个单词,您必须清除复制新值然后它会显示新复制字符串的第一个单词。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#getfirstword").on("keyup", function(e) {
debugger
// do stuff!
var str = $(this).val();
//Now i separate them by "|"
var str1 = str.split('|');
//Now i want to get the first word of every split-ed sting parts:
var firstWord ="";
for (var i=0;i<str1.length;i++)
{
//What to do here to get the first word :)
firstWord = str1[i].split(' ')[0];
}
$("#input1").val(firstWord);
})
});
</script>
</head>
<body>
<input id="getfirstword" />
<input id="input1" disabled/>
</body>
</html>
我只想从复制粘贴值中获取第一个值。
例如: 我的复制文本是:Lorem Lipsum Test
所以当我复制上面的文本并将其粘贴到 HTML 输入字段时,只需要 "Lorem" 我不需要其他文本
有什么办法可以实现这些东西吗?
提前致谢。
您可以添加一个输入事件来查看您要添加到您的元素的内容。此代码将拆分您粘贴的文本并仅添加第一个单词。
const input = document.querySelector('input');
const log = document.getElementById('values');
input.addEventListener('input', updateValue);
var previousValue = "";
function updateValue(e) {
log.textContent = e.data;
if (e.data && e.inputType == "insertFromPaste") {
if (e.data.length > 1) {
let val = e.data.split(" ")[0];
let str = previousValue + val;
e.target.value = str;
}
}
previousValue = e.target.value;
}
<input placeholder="Enter some text" name="name"/>
<p id="values"></p>
它只是 returns 始终是字符串输入的第一个单词,您必须清除复制新值然后它会显示新复制字符串的第一个单词。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#getfirstword").on("keyup", function(e) {
debugger
// do stuff!
var str = $(this).val();
//Now i separate them by "|"
var str1 = str.split('|');
//Now i want to get the first word of every split-ed sting parts:
var firstWord ="";
for (var i=0;i<str1.length;i++)
{
//What to do here to get the first word :)
firstWord = str1[i].split(' ')[0];
}
$("#input1").val(firstWord);
})
});
</script>
</head>
<body>
<input id="getfirstword" />
<input id="input1" disabled/>
</body>
</html>