Foros del Web » Programando para Internet » Javascript »

¿Como puedo agregar un espacio?

Estas en el tema de ¿Como puedo agregar un espacio? en el foro de Javascript en Foros del Web. Hola, saben que encontre este codigo que sirve para validar campos que contengan solo texto, el codigo es el siguiente: var letrasOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚ" + ...
  #1 (permalink)  
Antiguo 20/06/2005, 16:11
 
Fecha de Ingreso: diciembre-2004
Mensajes: 84
Antigüedad: 19 años, 4 meses
Puntos: 0
¿Como puedo agregar un espacio?

Hola, saben que encontre este codigo que sirve para validar campos que contengan solo texto, el codigo es el siguiente:

var letrasOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnopqrstuvwxyzáéíóú";
var nombre = document.formulario.nombre.value;
var valido = true;

if (nombre == "") {
alert ("Por Favor, debe ingresar su Nombre");
document.formulario.nombre.focus();
return false; }

for (i = 0; i < nombre.length; i++) {
ch = nombre.charAt(i);
for (j = 0; j < letrasOK.length; j++)
if (ch == letrasOK.charAt(j))
break;
if (j == letrasOK.length) {
valido = false;
break;
}
}
if (!valido) {
alert("Debe ingresar un Nombre Valido")
document.formulario.nombre.focus();
return (false);
}

bueno, éste codigo funciona de maravilla, pero el problema es que cuando ingreso un espacio me da un error, es decir se va al alert("Debe ingresar un Nombre valido"), ya sé que éste error ocurre porque en la variable letrasOK no esta declarado el espacio, bueno esto del espacio para mi es fundamental ya que el campo nombre debe contener 2 nombres separados obviamente por espacio (error) y otros campos en lo cual tambien tienen que haber mas de un espacio. Por lo que veo en el codigo, creo que lo unico que habria que cambiar seria la variable

var letrasOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnopqrstuvwxyzáéíóú";

¿ como puedo decirle a esta variable que acepte espacios ademas de lo que ya acepta ("ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnopqrstuvwxyzáéíóú") ? Ojala alguien me ayude.

Gracias Y Saludos
  #2 (permalink)  
Antiguo 20/06/2005, 16:18
 
Fecha de Ingreso: diciembre-2004
Mensajes: 84
Antigüedad: 19 años, 4 meses
Puntos: 0
Wuu!, encontre la solucion

la variable:

var letrasOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnopqrstuvwxyzáéíóú";

queda asi:

var letrasOK = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Á É Í Ó Ú " +
"a b c d e f g h i j k l m n o p q r s t u v w x y z á é í ó ú ";



es decir, que solo hay que colocar un espacio entre cada caracter.

Chauuu y espero que a alguien le sirva esto, ya que funciona super bien.

Saludos!
  #3 (permalink)  
Antiguo 20/06/2005, 21:12
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Una función más corta
Código:
function validar(texto) {
	if (texto.match(/[^\sa-záéíóúñ]/gi)){
		alert('Dato no válido');
		return false;
	}
	return true;
}
Le pasas como parámetro el valor que tengas en el elemento "nombre".

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
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 10:59.