Usando JQuery, estoy extrayendo el valor de lo que es esencialmente un cuadro de consulta para algunos datos en una base de datos MySQL. Sabiendo que la mayoría de los usuarios usarán un '*' (asterisco) como valor comodín y que MySQL usa el carácter '%', quiero convertir cualquier asterisco en '%'.¿Cómo reemplazo un asterisco en Javascript usando replace()?
Normalmente, esto sólo sería tan simple como usar
queryString = inputText.replace('*', '%');
pero he tenido poco éxito con eso. La función de Javascript replace()
sólo reemplaza la primera ocurrencia, así que no es la sustitución de la última asterisco en algo así como *Foo*
La segunda opción que probé fue el uso de una expresión regular, que tampoco funciona:
queryString = inputText.replace(/\x2a/g, '%');
Cómo ¿Puedo reemplazar el '*' (asteriscos) con un '%' (signo de porcentaje)? Me imagino que hay una expresión regular realmente simple, o algo que estoy pasando por alto.
En realidad, ' "* * Foo". Reemplace (/ \ X2a/g, '%')' trabajó para mí. ¿Cuál fue el problema con eso? ¿O en qué navegador falló? –
Es muy posible que haya estropeado algo en eso. Acabo de probarlo de nuevo y funciona, extraño. Estoy probando en Firefox 3.5 nightlies (Shiretoko) y Epiphany (webkit). –
Además, podría haber sido fácilmente algo que se corrigió en la más nueva de todas las noches. Debería haber guardado el viejo build para probarlo. –