Foros del Web » Programando para Internet » Javascript »

validar el espacio...

Estas en el tema de validar el espacio... en el foro de Javascript en Foros del Web. que tal, alguien podria ayudarme con un escrip que validara que en un text no permita ingresar espacios como primera accion, osea q obligue al ...
  #1 (permalink)  
Antiguo 14/02/2006, 16:23
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Pregunta validar el espacio...

que tal, alguien podria ayudarme con un escrip que validara que en un text no permita ingresar espacios como primera accion, osea q obligue al usuario escribir texto y no le permita ingresar primero un espacio al presionar la barra espaciadora, ya despues de que escribio algo pues que ya ponga lo que quiera...si alguuien lo tiene se lo agradeceria mucho!!!
  #2 (permalink)  
Antiguo 14/02/2006, 17:04
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
aqui un ejemplo simple con expresiones regulares:
Código PHP:
//
<script language="JavaScript" type="text/javascript">
function 
valida(form)
{
    var 
valor=form.campo.value;
    var 
regexp= new RegExp('^[a-z0-9]{1,10}$');
    if(!
regexp.test(valor))
        
alert('error expresion '+valor);
    else
        
form.submit();
}
</script>

<FORM name='formulario' method='POST'>
    <input type='text' name='campo'>
    <input type='submit' name='enviar' onclick="valida(this.form);"> 
cya..
__________________
"El Conocimiento es de todos, no solo de algunos"
  #3 (permalink)  
Antiguo 15/02/2006, 14:06
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Gracias deadlykyo por el script pero quisiera uno en el que simplemente no me permita escribir como primera accion un espacio, que se valide eso en el momento en que el usuario de un espacio primero...que no le permita crear el espacio. Espero que si se pueda...seguire esperando respuestas, gracias!!!
  #4 (permalink)  
Antiguo 16/02/2006, 13:01
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
en vez de usar :
Código PHP:
//
onclick="valida(this.form);" 
usa los eventos onkeydown o onkeyup:
Código PHP:
//
onkeydown="valida(this.form);" 
suerte, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #5 (permalink)  
Antiguo 16/02/2006, 14:52
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
?¿?¿?¿

En realidad no termino por comprender como funciona, si me lo explicaras te lo agradeceria...
  #6 (permalink)  
Antiguo 16/02/2006, 15:19
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Mira seria algo mas o menos asi:

cuando llamas a la funcion en el evento onclick, onkeydown, o cualquier otro, lo que hago es enviarle el formulario que se esta usando y lo recibo como parametro en la funcion:
function valida(form)
onclick="valida(this.form);"

En esta linea recupero el valor del un input con name campo dentro de la variable valor:
var valor=form.campo.value;

Ahora lo que hago aqui es que genero una expresion regular (regex), que permite solo caracteres en minuscula, numeros de 0 a 9 y tiene que tener entre 1 a 10 caracteres de los que te menciono:
var regexp= new RegExp('^[a-z0-9]{1,10}$');

Y esta ultima parte lo que hace es validar el regex con el valor del input si es diferente de lo que esta permitido, entonces te muestra el alert (o cualquier cosa que tu quisieras ponerle), en caso contrario hace que el formulario se envie (submit).
if(!regexp.test(valor))
alert('error expresion '+valor);
else
form.submit()

espero haber explicado la idea del codigo, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #7 (permalink)  
Antiguo 16/02/2006, 16:09
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 zyon
Gracias deadlykyo por el script pero quisiera uno en el que simplemente no me permita escribir como primera accion un espacio...
si solo querés eso, con esto bastaría:
Cita:
<html>
<head>
<script languaje="javascript">
function verif(v){
if (v.value==" "){
alert("No se pueden ingresar espacios al principio")
v.value="";
}
}

</script>
</head>
<body bgcolor="#E2E2E2">
<form name="fff">
<input name="t" type="text" onkeyup="verif(this)">

</form></body>
</html>
saludos
__________________
by Capitán Buscapina
.
  #8 (permalink)  
Antiguo 16/02/2006, 16:16
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
+ ¿?¿?

No comprendi esta parte:

Ahora lo que hago aqui es que genero una expresion regular (regex), que permite solo caracteres en minuscula, numeros de 0 a 9 y tiene que tener entre 1 a 10 caracteres de los que te menciono:
var regexp= new RegExp('^[a-z0-9]{1,10}$');

como podria identificar el espacio (barra espaciadora) en la expresion regular, y q devo usar para q al momento de usar la b espaciadora se vaya al escrib...?
  #9 (permalink)  
Antiguo 16/02/2006, 16:32
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
bueno te explico un poco mas sobre expresiones regulares, y tambien te dejo unos links a algunos articulos introductorios:
http://www.programacion.com/html/tutorial/js/16/
http://www.webtaller.com/construccio...javascript.php
bueno la simbologia que se usan para caracteres especiales como espacio, enter, arroba, son el codigo hexadecimal como \xE1 = á, \x20=espacio y asi sucesivamente, solo tienes que tener una tabla de hexadecimal, y haciendo uso de expresiones regulares puedes validar cadenas mas complejas y con caracteristicas especiales ya adaptando un poco el ejemplo que te di, ahora una solucion mas sencilla y que se acopla perfectamente a lo que necesitas que no permita espacios seria lo que te dice Cap.Buscapina, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #10 (permalink)  
Antiguo 17/02/2006, 12:07
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Sonrisa Gracias

Muchas gracias, ya lo checare...y por cierto lo coloque asi:

function lTrim(sStr){//Script que elimina el espacio de la izquierda
while (sStr.charAt(0)== " ")
sStr = sStr.substr(1, sStr.length - 1);
return sStr;
}

/*function rTrim(sStr){//Script que elimina el espacio de la derecha
while (sStr.charAt(sStr.length - 1) == " ")
sStr = sStr.substr(0, sStr.length - 1);
return sStr;
} */

function allTrim(sStr){
//return rTrim(lTrim(sStr));
return lTrim(sStr);
}
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 02:36.