para mi,
expresiones regulares siempre ha sido la solucion por excelencia aunque hay para quienes le parece muy complicado. lo que tienes que hacer es lo siguiente, en una variable vas a escribir a manera de un string con todos los insultos. la unica diferencia es que las comillas las vas a reemplazar por una diagonal (/) al principio y al final. entre medio de cada palabra pones una barra vertical (|). y justo al final de todo, despues de la diagonal, escribe una
i. o sea, te quedara algo como
variable = /palabra|palabra|palabra|.../i. esta porcion reemplazaria el array de insultos.
luego, en lugar de usar un bucle, utilizas el metodo
test de la expresion regular y le pasas como argumento el string del campo. este te devolvera un boolean donde
true significa que encontre una palabra y
false que no encontro alguna palabra. y finalmente, ese boolean lo devuelves al inverso con el operador
not (!). el proposito es, que al
test devolver
true, es decir encontro un insulto, al invertirse con
not se cancela el evento de enviar.