¿Cómo eliminar el último carácter de una cadena usando jQuery?

181

Cómo eliminar el último carácter de una cadena, por ejemplo, 123-4-cuando lo elimino 4, debería aparecer 123-usando jQuery .

wiki
fuente
30
Estás borrando los dos últimos caracteres entonces.
Skilldrick

Respuestas:

459

También puedes probar esto en JavaScript simple

"1234".slice(0,-1)

el segundo parámetro negativo es un desplazamiento del último carácter, por lo que puede usar -2 para eliminar los últimos 2 caracteres, etc.

skajfes
fuente
15
estamos (al menos estoy) usando tanto jQuery hoy en día, a veces se me olvida cómo hacerlo en javascript simple = X
Michel Ayres
2
Para aclarar las cosas (ya que esta publicación puede ser útil principalmente para principiantes): .slice () devolverá el resultado. Entonces uno debería usar: var result = "1234" .slice (0, -1);
MMB
38

¿Por qué usar jQuery para esto?

str = "123-4"; 
alert(str.substring(0,str.length - 1));

Por supuesto si debes:

Substr w / jQuery:

//example test element
 $(document.createElement('div'))
    .addClass('test')
    .text('123-4')
    .appendTo('body');

//using substring with the jQuery function html
alert($('.test').html().substring(0,$('.test').html().length - 1));
Jason Benson
fuente
str.substring (0, str.count () - 1)
GolezTrol el
2
@GolezTrol: str.count () no es una función. str.length devuelve el número de caracteres en la cadena
skajfes
@ skajfes Por cierto, este es un mejor ejemplo. Editaré el mío arriba para usar la longitud
Jason Benson el
Buen ejemplo con jQuery. Gracias por publicar Jason. Lo mejor
OV Web Solutions
9

@skajfes y @GolezTrol proporcionaron los mejores métodos para usar. Personalmente, prefiero usar "slice ()". Es menos código, y no tienes que saber cuánto dura una cadena. Solo usa:

//-----------------------------------------
// @param begin  Required. The index where 
//               to begin the extraction. 
//               1st character is at index 0
//
// @param end    Optional. Where to end the
//               extraction. If omitted, 
//               slice() selects all 
//               characters from the begin 
//               position to the end of 
//               the string.
var str = '123-4';
alert(str.slice(0, -1));
OV Web Solutions
fuente
Prefiero substring yo mismo. Slice para mí es demasiado cerca de gama rebanada
Jason Benson
5

Puedes hacerlo con JavaScript simple:

alert('123-4-'.substr(0, 4)); // outputs "123-"

Esto devuelve los primeros cuatro caracteres de su cadena (ajústelos 4según sus necesidades).

jwueller
fuente
3
La solución de corte (0, -1) es mejor porque no necesita conocer la longitud de la cadena de antemano.
Dan Dascalescu