Foros del Web » Programando para Internet » PHP »

Validacion De palabras con Espacios

Estas en el tema de Validacion De palabras con Espacios en el foro de PHP en Foros del Web. Hola Que tal , Espero que me puedan ayudar soy novato , Tengo un problema con la validacion de un 'input ' de tipo texto ...
  #1 (permalink)  
Antiguo 29/08/2009, 03:22
Avatar de StevKenshinX  
Fecha de Ingreso: noviembre-2008
Ubicación: Lima
Mensajes: 28
Antigüedad: 16 años
Puntos: 2
Pregunta Validacion De palabras con Espacios

Hola Que tal , Espero que me puedan ayudar soy novato , Tengo un problema con la validacion de un 'input ' de tipo texto , lo que pasa es que necesito colocar en el 'input' una descripcion de tramite documentario y guardarlo en una BD ( mysql ), bueno como necesito trabajar con una BD , tengo ke validar para bruto entonces solo kisiera ke en el interior del input valide:

- Caracteres ( " /*-+-.´ç`+'¡ ") --> logrado
- Backspace en el input ( osea que en el input al darle en la barra espaciadora no se guarden los espacios y envie mensaje) -> logrado pero el sgt punto tiene ke ver con esto.
- Espacios Entre Palabras ( osea supongamos que en el input escribimos "Area Tecnologica" entonces encontramos un espacio entre esas dos palabras pero como antes valide, para que no se puedan ingresar espacios, no me deja ingresar "Area Tecnologica")

El problema es que el ensamblador del proyecto, simplemente nos dice que hagamos el modulo como mejor nos parezca, no le tomen importancia a este punto porque estamos en el area de desarrollo y lo que quiere es que nos foguiemos, y bueno desde mi perspectiva lo que mejor me parece para este campo seria :

- validar caracteres
- validar los espacios por sino se ingresa ningun tipo de dato logico -> (" ").
- validar los espacios entre palabras("AREA TECNOLOGICA").

Implemente estas funciones:

Código PHP:
function validar_regEsp(obj){
   if(
obj.txtDescripcion.value.length==0){
        
alert('Ingrese Descripcion Tramite !!');
            
obj.txtDescripcion.focus();
            return 
false;
     }else if(!
validaAlfanumerico(obj.txtClave.value"INGRESE UNA DESCRIPCION VALIDA !!")){
            
obj.txtDescripcion.select();
            
obj.txtDescripcion.focus();
        return 
false
     
}
     return 
true;
}

function 
validaAlfanumerico(cadenamensaje){
     var 
expRegular=/^([A-Za-z0-9_-.])*$/; //Aqui estan los _\-\. sino que no aparecen en el post no es que hayga error
   
if(expRegular.test(cadena)){
              return 
true;
     }else{
        
alert(mensaje);
             return 
false;
     }

Nota:Disculpen por tanto rollo pero me gusta dar muchos detalles =),Por Cierto seria bueno que alguien me hable de inyecciones SQL.
Uso:
- HTML-KIT y SQLYOG (BD)

Última edición por StevKenshinX; 29/08/2009 a las 03:41
  #2 (permalink)  
Antiguo 29/08/2009, 06:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Validacion De palabras con Espacios

¿Que lenguaje de programación del sevidor corres, me refiero PHP, ASP, JAVA etc etc? No puede ser HTML solamente porque eso no te permite insertar en una Base de Datos. Si de casualidad estas usando PHP para problemas con inyecciones usa htmlentities() o htmlspecialchars(). Vas a tener que explicarte un poco mejor en la primera parte ya que no entendi si es que quieres que salgan los caracteres especiales o que no quieres que salgan. Si lo que deseas es que salgan solamente alfanumércio y con espacios solo tienes que declarar

Código html:
Ver original
  1. var expRegular=/^[\w\s\.]+$/;
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 29/08/2009, 13:13
Avatar de StevKenshinX  
Fecha de Ingreso: noviembre-2008
Ubicación: Lima
Mensajes: 28
Antigüedad: 16 años
Puntos: 2
Pregunta Plop I am Despistado =D

Ya Mira uso php4 osea <? ?> (el html-kit soporta PHP) , y para la validacion javascript (<script ...></script>) , y mi servidor local appserv (127.0.0.1), aunque donde laboro usan fedora (10.10.10.1), los requerimientospara poder guardar los datos en la BD son los sgts:

SE PUEDE:


-Se Puede guardar en la BD letras desde la 'a' hasta la 'z' tanto minusculas como mayusculas

-Se puede guardar datos numericos junto con las letras ( osea alfanumericos ).

-En la BD podemos ingresar una descripcion que contenga dos palabras y el problema radica aqui , cuando tenemos dos palabras o dos alfanumericos tenemos un espacio entre ellos , entonces en ese momento la validacion para los espacios en blanco se activa y no deja grabar en la BD, pero si desactivo la validacion para los espacios en blanco no me cumpliria con el requerimiento mencionado en el siguiente punto.

NO SE PUEDE:


-En la BD No Se pueden ingresar SOLO espacios en blanco.

-Aparte no se puede guardar en la BD caracteres especiales.

Nota: SI necesitas algun dato mas avisa y con respecto al :
expRegular que me diste no funka para espacios en blanco.Por Cierto si es PHP no deberia ir aqui el POST -. -! Disculpen T_T
  #4 (permalink)  
Antiguo 29/08/2009, 14:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Validacion De palabras con Espacios

Verifica si con esta expresion regular te resulta y no uses las otras expresiones regulares que tienes. Se supone que con esto logres hacer lo que me indicaste. Quita las otras expresiones regulares que tienes declarada.
Código html:
Ver original
  1. var expRegular="/^\w[\w\s\.]*$/";
Ademas se supone que cuando tu hagas la verificación de los datos si es solamente un campo vacio debes hacerlo de esta forma
Código html:
Ver original
  1. var expRegularCampoVacio="/^\s+$/";
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
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 22:38.