Dostaję taki ciąg w ten sposób.

Ex: 1.

input.value = " United State; UK"

Ex 2:

input.value = " United State; UK; AUS"

Lub tak dalej.

Cóż, chcę usunąć ostatnią wartość UK w przykładzie i Aus w przykładzie 2, co próbuję tutaj

var splitValue = input.value.split(";");
    splitValue.splice(splitValue.length-1);
    input.value = splitValue.join(";");

Ale nie wiem, dlaczego nie otrzymuję poprawnej odpowiedzi. Moja ostatnia wartość traci swój średnik.

Jak to naprawić.

0
shanky singh 27 czerwiec 2017, 08:55

6 odpowiedzi

Najlepsza odpowiedź
var input = " United State; UK; AUS"

var newinput = input.split(';');
newinput[newinput.length-1] = "";

console.log(newinput.join(';'));
2
mehulmpt 27 czerwiec 2017, 06:01

Spróbuj tego

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);
0
Bhargav Chudasama 27 czerwiec 2017, 06:10

Spróbuj

str = " United State; UK";
var arr = str.split(";");
arr.pop();
console.log(arr.join(";"));
0
Vineet 27 czerwiec 2017, 06:07

Możesz użyć czegoś takiego ..

var Inputvalue = "United State; UK; AUS";
Inputvalue  = Inputvalue .substr(0, Inputvalue .lastIndexOf(";"));
alert(Inputvalue );
0
Jayanti Lal 27 czerwiec 2017, 06:03

Jednym z podejścia tutaj jest użycie regexa, który spożywa i uchwyci wszystko do, a także ostatecznego średnika. Wszystko po tym jest ostateczne słowo, które chcesz odrzucić.

var str = 'United States; UK; AUS';
console.log(str.replace(/(.*;).*$/, '$1'));

Wynik:

United States; UK;
1
Tim Biegeleisen 27 czerwiec 2017, 06:03

Musisz to zrobić

input.value.replace(/;[A-Za-z0-9\s]*$/,"")

To da ci, czego potrzebujesz. Spróbuj również to zrozumieć, usunie wartość alfanumeryczną ze spacjami po ;

Możesz zastąpić [A-Za-z0-9\s] z tym, co wiesz, są dozwolone znaki po ;

2
Aftab Khan 27 czerwiec 2017, 06:00