Búsqueda de patrón de entrada HTML5 para cotización

Necesito probar un campo de entrada ( ) contra esta expresión regular:

 [^'"]+ 

Obviamente, esta no es una tarea fácil ya que no puedo usar " dentro del atributo. Usar la entidad quot no parece funcionar ya que el motor regex lo interpreta literalmente.

¿Cómo puedo lograr esto?

La expresión regex del atributo HTML5 @pattern se basa en JavaScript regex, por lo que puede utilizar la notación hexadecimal o anotación unicode para ese carácter como lo haría en JavaScript:

 " = \x22 OR \u0022 ' = \x27 OR \u0027 

Para que pueda usarlo fácilmente

 pattern="[^'\x22]+" 

¡TADA! ¡No hay bibliotecas de JavaScript involucradas! 😉

Intente utilizar un marco js como JQuery o PrototypeJS

entonces puedes decir

 onchange=(function() {...}); 

puede seguir cómo usar regex en jQuery a través de este hilo: Validación de campo de expresión regular en jQuery

si tienes un navegador HTML5, puedes escribir

  

y necesita prepararse para navegadores no capaces con Modernizer con algunos como este

 if(!Modernizr.input.pattern) { var input = document.getElementById("ipt_my_field"); input.addEvent('onblur', function(ip){ if(ip.value.match(/[^'"]+/)) { // is a good } else { // is a bad } }); }