从输入值中删除最后一个单词
Removing last word from an input value
我一直在尝试使用以下代码删除输入值的最后一个字:
$('#buttonid').on('click',function () {
var textVal = $('#inputid').val();
$('#inputid').val(textVal.substring(0,textVal.length - 1));
});
此代码只从单词中删除一个字母。我知道我可以通过在textVal.length - 1
中指定其字母的编号来删除整个单词。但是,这个单词不是静态的,所以我想使用一些东西来删除输入值中的任何最后一个单词。
编辑,注意:单词用点分隔,而不是空格。
有什么建议吗?
您可以使用lastIndexOf
方法来查找分隔最后一个单词的最后一个点的位置:
$('#buttonid').on('click', function () {
var textVal = $('#inputid').val();
$('#inputid').val(textVal.substring(0, textVal.lastIndexOf('.')));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="buttonid">Remove</button>
<input type="text" id="inputid">
如果您不重新选择相同的元素,而是使用val
方法中的一个函数:,您也可以使代码更干净一些
$('#buttonid').on('click', function () {
$('#inputid').val(function() {
return this.value.substring(0, this.value.lastIndexOf('.'));
});
});
加分。如果你愿意,你可以使用非常简单的正则表达式(尽管这里可能有些过头了,但regexp比lastIndexOf
中的'.'
更可靠)来删除最后一个单词边界之后的所有内容,例如:
$('#inputid').val(function() {
return this.value.replace(/'b.'w*$/, '');
});
使用lastIndexOf(' ')
而不是length - 1
。前者将获取空间的最后一个索引(表示最后一个单词,除非您有任何边格),并将其用作子字符串的终点。
后者应该只给你最后一个字母的索引,因为调用textVal.length会导致字符串中实际字符的数量,而不是单词。
$('#inputid').val(textVal.substring(0, textVal.lastIndexOf(' '));
另一个选项是将文本转换为数组,并将其pop()
,以删除最后一个元素。然后,使用空格作为分隔符重新连接它。
$('#buttonid').on('click', function () {
var textVal = $('#inputid').val().split(' ');
textVal.pop();
$('#inputid').val(textVal.join(' '));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="inputid"></textarea><br>
<button id="buttonid">Remove Word</button>
您可以使用lastIndexOf方法来获取发生的peroid的最后一个索引。这是代码:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function()
{
$("#buttonid").on('click',function ()
{
//get the input's value
var textVal = $('#inputid').val();
var lastIndex = textVal.lastIndexOf(".");
$('#inputid').val(textVal.substring(0,lastIndex));
});
});
</script>
</head>
<body>
<input type="button" id="buttonid" value="Go">
</input>
<input type="text" id="inputid" value="Anything.could.be">
</input>
</body>
</html>
相关文章:
- 从输入值中删除最后一个单词
- Javascript/jQuery替换tamil语言输入框中的最后一个单词
- Regex:使用javascript测试最后一个单词后的url中是否存在最后一个斜杠
- 使用JavaScript匹配URL中的最后一个单词
- 添加一个“;以及“;到String-js/Angular中的最后一个单词
- 如何在文本区域中获取最后一个单词的位置
- 正则表达式获取 / 和 / 之间的 URL 中的最后一个单词
- 如何使用正则表达式获取第一个和最后一个单词
- 正则表达式,用于从 TitleCase(驼峰大小写)获取最后一个单词
- 字符字符串中最后一个单词的第一个字母
- Javascript - 获取一行中的最后一个单词
- 在最后一个单词 Javascript 之前附加字符串
- 如何添加<br/>在最后一个单词上加标签
- 在CodeMirror中查找自定义语言模式的段落的第一个单词和最后一个单词
- 谷歌地图标记.getPosition只使用最后一个单词
- 我怎样才能在一个特殊的字符后得到最后一个单词
- 用Javascript输入最后一个单词
- 如何使用Selenium IDE存储和键入显示文本的最后一个单词
- 如何从字符串中获取最后一个单词的名称
- 选择最后一个单词或“可满足内容”的特定范围