Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Yaldabaot en 19 Marzo 2019, 05:50 am



Título: Consulta javascript y expresiones regulares
Publicado por: Yaldabaot en 19 Marzo 2019, 05:50 am
Hola amigos del foro!!, tengo una expresión regular que me sirve en las páginas y todo y con muchos otros textos pero con un texto en especìfico no me sirve!!

Esta es la expresión regular:

Código
  1.  
  2. /^(?!.*WHERE.*|.*FROM.*|.*SELECT.*|.*UPDATE.*|.*DROP.*|.*INSERT.*|.*DELETE.*|.*ALTER.*|.*TABLE.*|.*TRUNCATE.*|.*DATABASE.*)[A-Za-zÑñÁÉÍÓÚáéíóú,'-.1234567890\s]+$/
  3.  
  4.  

La tengo implementada así


Código
  1.  
  2. function validar_textolibre(texto){
  3.  
  4. //Creamos un objeto
  5.  
  6.  
  7. object=document.getElementById(texto);
  8. valueForm=object.value;
  9.  
  10. object2 = valueForm.replace("\n"," ");
  11.  
  12.  
  13.  
  14. object3 = object2.toUpperCase();
  15.  
  16.  
  17.  
  18. var objRegExp  =  /^(?!.*WHERE.*|.*FROM.*|.*SELECT.*|.*UPDATE.*|.*DROP.*|.*INSERT.*|.*DELETE.*|.*ALTER.*|.*TABLE.*|.*TRUNCATE.*|.*DATABASE.*)[A-Za-zÑñÁÉÍÓÚáéíóú,'-.1234567890\s]+$/; //Valida que contenga espacios y letras únicamente.
  19.  
  20.  
  21.          if(objRegExp.test(object3)){
  22.  
  23.  return true;
  24.  }
  25.  
  26. else{
  27.  
  28. return false;
  29.   }
  30.  
  31. }
  32.  
  33.  


Lo extraño es que la uso con este texto:

Atención al cliente, realización de asientos contables, codificación de gastos, registro de cuentas por cobrar y pagar, manejo de la central, presentación de las declaraciones tributarias.


Y me dice que es correcta, de hecho para muchos otros textos si me sirve, no comprendo que estará pasando.


Uds saben que estoy haciendo mal? les explico un poco que el texto lo convierto en mayusculas y le quito los saltos de linea para mejor la evaluaciòn.


Lo que quiero hacer en el texto es que la persona escriba de todo, excepto las expresiones de una statement de un sql, pero que pueda escribir mayusculas, letras, numeros, minusculas sin signos ni nada, me funciona con todo pero con este texto de arriba no, la verdad no se que estaré haciendo mal.




Título: Re: Consulta javascript y expresiones regulares
Publicado por: Shell Root en 19 Marzo 2019, 13:51 pm
No entendi nada xD

Dices: Y me dice que es correcta...  entonces que quieres?  :silbar:

Citar
Atención al cliente, realización de asientos contables, codificación de gastos, registro de cuentas por cobrar y pagar, manejo de la central, presentación de las declaraciones tributarias.


Título: Re: Consulta javascript y expresiones regulares
Publicado por: Yaldabaot en 19 Marzo 2019, 15:09 pm
Perdona amigo, pero esperaba una respuesta que me ayudara mejor, quizás me haya expresado mal y no me hayan entendido, el texto de ahí según el test que hecho en otras páginas si cumple con el patrón de la expresión regular pero... en el javascript por alguna razón me tira un false.

Saben ¿ porque será?

Gracias.


Título: Re: Consulta javascript y expresiones regulares
Publicado por: Shell Root en 19 Marzo 2019, 15:27 pm
Código
  1. function RegExp(oTexto){
  2.   var objRegExp = /^(?!.*WHERE.*|.*FROM.*|.*SELECT.*|.*UPDATE.*|.*DROP.*|.*INSERT.*|.*DELETE.*|.*ALTER.*|.*TABLE.*|.*TRUNCATE.*|.*DATABASE.*)[A-Za-zÑñÁÉÍÓÚáéíóú,'-.1234567890\s]+$/;
  3.   return objRegExp.test(oTexto);
  4. }

Prueba
Código
  1. document.write(RegExp("Atención al cliente, realización de asientos contables, codificación de gastos, registro de cuentas por cobrar y pagar, manejo de la central, presentación de las declaraciones tributarias.") + "<br/>");
  2. document.write(RegExp("Atención al cliente, SELECT realización de asientos contables, codificación de gastos, registro de cuentas por cobrar y pagar, manejo de la central, presentación de las declaraciones tributarias.") + "<br/>");

Resultado
Código:
true
false

 :huh:


Título: Re: Consulta javascript y expresiones regulares
Publicado por: Yaldabaot en 19 Marzo 2019, 23:24 pm
Gracias amigo, voy a probarlo y te aviso-