Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/10/2014, 14:16
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Quitar punto final en input

Se me ocurren dos formas: La primera, usando una estructura repetitiva y, la segunda, con expresiones regulares.

Con un bucle while:
Código Javascript:
Ver original
  1. var string = "Hello...";
  2. while (string.lastIndexOf(".") > -1){
  3.     string = string.substr(0, string.length - 1);
  4. }
  5. console.log(string); //Imprime "Hello"

Con una expresión regular:
Código Javascript:
Ver original
  1. var string = "Hello...",
  2.     regexp = /^(\w+)(\.+)$/;
  3. string = string.replace(regexp, "$1");
  4. console.log(string); //Imprime "Hello"

En la primera, busco al final de la cadena si hay un punto, de ser así, asigno a string el contenido de sí misma, desde el inicio hasta una posición antes del final, eliminando así el punto encontrado. El ciclo se vuelve a repetir mientras siga encontrando puntos al final hasta que no quede ninguno.

En la segunda, la expresión regular contiene dos grupos. En el primero, agrupamos a todos los caracteres alfanuméricos (números y letras), teniendo que haber de uno a más, mientras que en el segundo, agrupamos a los puntos que se encuentren a la derecha del primer grupo. Luego, reemplazamos la coincidencia encontrada por el primer grupo, es decir, en donde solamente están los caracteres alfanuméricos antes de el o los puntos del final.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand