Esta es la expresión regular:
Código
/^(?!.*WHERE.*|.*FROM.*|.*SELECT.*|.*UPDATE.*|.*DROP.*|.*INSERT.*|.*DELETE.*|.*ALTER.*|.*TABLE.*|.*TRUNCATE.*|.*DATABASE.*)[A-Za-zÑñÁÉÍÓÚáéíóú,'-.1234567890\s]+$/
La tengo implementada así
Código
function validar_textolibre(texto){ //Creamos un objeto object=document.getElementById(texto); valueForm=object.value; object2 = valueForm.replace("\n"," "); object3 = object2.toUpperCase(); 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. if(objRegExp.test(object3)){ return true; } else{ return false; } }
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.