我得到的是这样的字符串。
ex:1
input.value = " United State; UK"
前2:
input.value = " United State; UK; AUS"
等等。
我想删除最后一个值 示例1中的英国和示例2中的AUS 我在这里尝试的是
var splitValue = input.value.split(";");
splitValue.splice(splitValue.length-1);
input.value = splitValue.join(";");
但不知道为什么我得不到正确答案。我的最后一个价值是失去了它的分号。
如何解决此问题。
答案 0 :(得分:2)
你需要这样做
input.value.replace(/;[A-Za-z0-9\s]*$/,"")
这将为您提供所需。另请尝试理解这一点,这将在;
您可以使用[A-Za-z0-9\s]
;
答案 1 :(得分:2)
var input = " United State; UK; AUS"
var newinput = input.split(';');
newinput[newinput.length-1] = "";
console.log(newinput.join(';'));
答案 2 :(得分:1)
这里的一种方法是使用正则表达式,它将消耗并捕获所有内容,包括最终的分号。之后的一切都是你想要丢弃的最后一个词。
var str = 'United States; UK; AUS';
console.log(str.replace(/(.*;).*$/, '$1'));

<强>输出:强>
United States; UK;
答案 3 :(得分:0)
试一试
str = " United State; UK";
var arr = str.split(";");
arr.pop();
console.log(arr.join(";"));
答案 4 :(得分:0)
你可以使用这样的东西..
var Inputvalue = "United State; UK; AUS";
Inputvalue = Inputvalue .substr(0, Inputvalue .lastIndexOf(";"));
alert(Inputvalue );
答案 5 :(得分:0)
尝试这个
var a = " United State; UK";
var b = " United State; UK; AUS";
var value = "";
var value1="";
//example 1
var splitValue = a.split(" ");
for (var i = 1; i < splitValue.length - 1; i++) {
value += splitValue[i]+" ";
}
console.log(value);
//example 2
var splitValue = b.split(" ");
for (var i = 1; i < splitValue.length - 1; i++) {
value1 += splitValue[i]+" ";
}
console.log(value1);
&#13;