regex – ¿Cómo excluyo "%" y "_"?

Estoy permitiendo numbers, letras y caracteres especiales a exception de % y _ en mi textbox html. Tengo el patrón /[a-zA-Z0-9!@#$^&*()-+=]/ . Creo que no es la mejor manera de hacerlo porque tengo que enumerar todos los caracteres especiales, excepto los dos mencionados. ¿Hay alguna manera en la que no tenga que enumerar todos los caracteres especiales y no include los dos mencionados? Por cierto, estoy usando javascript regex.

Para la demostración, consulte http://jsfiddle.net/ce8Th/

Por favor ayuda.

4 Solutions collect form web for “regex – ¿Cómo excluyo "%" y "_"?”

No hay necesidad de ese bucle complejo. Solo llame a replace directamente en la cadena completa:

 $(this).val(function (i, v) { return v.replace(/%|_/g, ''); }); 

Aquí está tu violín: http://jsfiddle.net/ce8Th/1/

Podrías hacer lo contrario:

 /[%_]/ if (pattern.test( .... 

También es bueno no usar expresiones regex si no es necesario, no es que haga una gran diferencia en este caso:

 if ("%_".split().indexOf(text.charAt(i)) > -1) { 

Una list blanca es siempre la mejor. Recomiendo mantener lo que tienes, excepto agregar un modificador de longitud y caracteres de inicio y fin:

 /^[a-zA-Z0-9!@#$^&*()-+=]+$/ 

¿Sería casual que supiera que está utilizando esta input de usuario para una consulta MySQL que involucra a LIKE para search coincidencias parciales?

Si es así, no excluyas los personajes. En cambio, escapéalos en el lado del server. Por ejemplo:

 $output = str_replace(Array("%","_"),Array("\\%","\\_"),$input); 
  • Unidades de análisis con javascript regex
  • Llamada a la function ajax dentro de replace ()
  • Google Apps Script Regex exec () devuelve nulo
  • Error de proyección angular $ parse: ueoe End of Expression inesperado
  • compruebe si la cadena contiene url en cualquier lugar de la cadena usando javascript
  • JSLint "inseguro ^" en expresión regular
  • JavaScript equivalente para PHP preg_replace
  • cómo escaping de los personajes en nodejs?
  • Expresión regular para get una cadena entre paréntesis en Javascript
  • Regex para MongoDB ObjectID
  • ¿Hay alguna manera de medir la similitud de cadenas en Google BigQuery?
  • Javascript regex múltiples capturas de nuevo
  • Cómo evitar que los caracteres inválidos se tipeen en campos de input
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.