Foros del Web » Programando para Internet » Javascript »

validar espacios en blanco

Estas en el tema de validar espacios en blanco en el foro de Javascript en Foros del Web. Hola a tod@s Me gustaria saber si existe alguna funcion en javascript para poder saber el numero de espacios en blanco que ha introducido el ...
  #1 (permalink)  
Antiguo 15/06/2006, 10:27
 
Fecha de Ingreso: mayo-2006
Mensajes: 17
Antigüedad: 18 años
Puntos: 0
validar espacios en blanco

Hola a tod@s

Me gustaria saber si existe alguna funcion en javascript para poder saber el numero de espacios en blanco que ha introducido el usuario en una caja de texto.

O que cuente el numero de veces que aparece un determinado caracter, xq podria utilizar el evento .value.replace(/ /g, '') , para sustituir los espacios en blanco por un determinado caracter

Muchas gracias por adelantado

Saludos
  #2 (permalink)  
Antiguo 15/06/2006, 10:44
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola alber_gp

¿Te refieres a esto...?
Código:
cadena = 'esto tiene espacios';
cadena = cadena.replace(/\s/g, '');
alert(cadena);
Para saber el número de espacios puedes usar:
Código:
alert(cadena.split(' ').length-1);
Saludos,
  #3 (permalink)  
Antiguo 15/06/2006, 10:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Una forma sería:
var letra = " ";
...
alert(cadena.split(espacio).length);

Si luego quieres cambiar la letra por otra:

var otraLetra = "_";
alert(cadena.split(letra).join(otraLetra));

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 15/06/2006, 10:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Esta vez se me anticipó JavierB (¡Hola !)

Javi: ¿Por qué "length -1" ?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 15/06/2006, 10:58
 
Fecha de Ingreso: mayo-2006
Mensajes: 17
Antigüedad: 18 años
Puntos: 0
Ya lo tengo!!!

Muchas gracias a Caricatos y a JavierB

Seguid asi!!!
  #6 (permalink)  
Antiguo 15/06/2006, 11:48
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Cita:
Iniciado por caricatos
Javi: ¿Por qué "length -1" ?
En el ejemplo que puse (cadena = 'esto tiene espacios';) al aplicarle cadena.split(' ').length-1 devuelve una longitud de 3, que es el número de palabras, pero solo tiene dos espacios. Por eso lo de -1

Saludos,
  #7 (permalink)  
Antiguo 15/06/2006, 11:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Tienes razón... con split se obtienen n elementos del array, pero es uno menos los separadores...

¡Je! con tanto responder se me había pasado.

Saludetes
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 15/06/2006, 15:58
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
Cita:
Iniciado por alber_gp
Hola a tod@s

..O que cuente el numero de veces que aparece un determinado caracter, ..
otra forma de poder hacer esto, ademas de la que plantearon JavierB y Caricatos (holas x 2) , es utilizando match().

Cita:
cadena = 'esto tiene espacios';
c = cadena.match(/\s/g);
alert(c.length);
sobre todo bastante útil para contar palabras sin importar si son mayúsculas o minúscula.


saludos
__________________
by Capitán Buscapina
.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:40.