javascript - 从段落中删除完整的一个字符串

标签 javascript c# jquery

我有一个段落,当用户按单个退格键时,我想从中删除一个完整的字符串。 例如在雅虎邮件中。当我们撰写电子邮件并在“收件人或抄送或密件抄送”部分写入电子邮件地址时,当用户按单个退格键时,完整的电子邮件地址将被删除。 我想要那个功能,但在段落中。

最佳答案

使用退格键删除电子邮件地址只是删除字符,直到您点击空格(或; 取决于您的用例)字符。
所以基本上你在这里真正要问的是:
如何在 space 字符作为分隔符时 substring 字符串的最后部分。
这是一个简单的片段作为示例:
编辑:
我更新了代码片段以在单击退格键或删除键时支持插入符号(光标)位置。

$('#delete').on('click', function(){
var $input = $('#mystring');
var nextStr = deleteUpToSpace($input.val());
  $input.val(nextStr);
});

$('#mystring').on('keyup', function(e){
  var currentCursorPoisitoin = this.selectionStart;
if(e.keyCode == 8 || e.keyCode == 46){ // backspace or delete keys
  	var $input = $(this);
  	var nextStr = deleteBasedOnPosition($input.val(), currentCursorPoisitoin);
$input.val(nextStr);
  }
});

function deleteUpToSpace(str){
var index = str.lastIndexOf(" ");
var nextStr = str.substring(0, index);
return nextStr;
}

function deleteBasedOnPosition(str, position){
var strUpToPosition = str.slice(0, position);
  var lastIndexOfSpace = strUpToPosition.lastIndexOf(" ");
var strToRemove = strUpToPosition.substring(lastIndexOfSpace, position);
  var nextStr = str.replace(strToRemove, "");
  return nextStr;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="mystring" value="this is a test string">
<button id="delete">Delete</button>

关于javascript - 从段落中删除完整的一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43890071/

相关文章:

javascript - postman :如何设置(半)复杂的可重用脚本库以进行收集

javascript - 如何根据旁边的另一个文本将文本定位在一定高度

c# - 使用 async await 处理 Web 请求的超时

c# - HttpClient SendAsync 阻塞主线程

jquery - 我无法使用 Bootstrap 的 "well"命令在我的网站上创建一个灰色的大框

javascript - 如何使用jquery追加到另一个div ....然后再返回

javascript - 如何知道哪个网页正在调用外部 javascript 脚本

c# - Use C# to FTP file to mainframe including dataset - 将 FTP 脚本转换为 FtpWebRequest 代码

javascript - 将事件附加到动态元素

javascript - 点击()开始加载