Quitar espacios

Quitar espacios

      • 162
      • mensajes
      • miembro desde
      • 11/05/05
    #1 Quitar espacios

    Tengo que hacer una pagina con una funcion en javascript que cuando ingreses una cadena en un campo de texto te diga si es un palindromo(que se lee igual de adelante para atras que al reves) o no.
    Para eso necesito sacarle los espacios a la cadena y no se bien como hacerlo.
    Si alguien me da una mano, porque trato pero no me sale, lo que tengo hasta ahora es:

    function hacer(){
    var a=document.form.campo.value;
    if (isNaN(a)){
    var i,c;
    var sinesp;
    for (c = 0; c < a.length; c++) {
    if(a.charAt(c) == " "){
    //aca hay que sacar los espacios!
    }
    }
    for (i = 0; i < a.length; i++) {
    if (a.charAt(i) != a.charAt(a.length-1-i)) {
    alert("no es palindromo");
    }
    }
    alert("es palindromo");
    }

    Saludos
    Pame

    Temas relacionados:

  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    7 comentarios / 33345 Visitas

      • 47
      • mensajes
      • miembro desde
      • 24/03/07
    10/05/2007
    #2 Re: Quitar espacios

    se podria resolver con expresiones regulares, siempre tan utiles:

    a = a.replace(/^\s*/, '');
    a = a.replace(/\s*$/, '');

    y a termina conteniendo el original sin espacios en los extremos.

      • 162
      • mensajes
      • miembro desde
      • 11/05/05
    10/05/2007
    #3 Re: Quitar espacios

    Bien, voy a probar, tendria que estudiar un poco las expresiones regulares tambien.
    Gracias

      • 162
      • mensajes
      • miembro desde
      • 11/05/05
    10/05/2007
    #4 Re: Quitar espacios

    Estuve consultando en la web, y al final arme esta función que anda bien, pero hay una parte que no entiendo que hace, si alguien me la puede explicar se lo agradecería...

    if(a.charAt(c) == " "){
    var sinesp = a;
    var re = /\s/g; <----------- desde acá incluído esta
    if(a.search(re) != -1){
    sinesp = a.replace(re, replacement);
    } <------------ Hasta acá
    document.form.campo1.value=sinesp;
    }

      • 47
      • mensajes
      • miembro desde
      • 24/03/07
    11/05/2007
    #5 Re: Quitar espacios

    la variable "re" simplemente contiene la expresion regular para no tener que repetirla varias veces. esa expresion regular va a matchear (no se me ocurre la palabra en castellano) con cualquier simbolo de espacio (puede ser el que se pone con la barra espaciadora o bien un tab) tantas veces como aparezca en la linea (eso lo indica el modificador "g"). en realidad mi funcion quitaba los espacios al principio y al final, asi estas sacando los que estan entremedio de las palabras tambien. la cuestion que el a.replace con esta expresion regular es lo que esta quitando todo espacio que haya en la cadena. saludos!

      • 162
      • mensajes
      • miembro desde
      • 11/05/05
    13/05/2007
    #6 Re: Quitar espacios

    Muchas gracias, ya entendi la expresion regular esa y como funciona, lo unico que me queda es esa "g" no entiendo que funcion cumple ahi...
    Saludos

      • 875
      • mensajes
      • miembro desde
      • 15/05/05
    17/05/2007
    #7 Re: Quitar espacios

    nada mas facil que trim
    si queres usar expresiones regulares podes pero no le veo utilidad en este caso
    Saludos.-

      • 1
      • mensajes
      • miembro desde
      • 13/01/10
    13/01/2010
    #8 Re: Quitar espacios

    function trimAll(cadena) {
    if(cadena != ""){
    var sinesp = cadena;
    var re = /\s/g;
    if(cadena.search(re) != -1){
    sinesp = cadena.replace(re,"");
    }
    return sinesp;
    }
    }

    La función completa para quien la necesite. Esta quita todos los espacios de una cadena.



    AC soft live