Necesito tomar una entrada del usuario, en este caso como una palabra de búsqueda. Pero al enviar esta entrada a una API, la cadena no debe contener espacios. Intenté .trim pero esto parece eliminar solo los espacios antes y/o después de la cadena. Esencialmente, necesito forzar cualquier cantidad de palabras que no sean una sola, cualquier idea sobre cómo se podría lograr esto sería muy apreciada.
function getSearch(){ var welcomeMsg = document.getElementById('result'); var search_term = document.getElementById('floatingInput'); <input type="text" class="form-control" id="floatingInput"> <input type="button" value="click"> <label for="floatingInput">Song title / artist name</label>Puede usar String.prototype.replace() para esto, por ejemplo:
> 'foo bar'.replace(' ', '') 'foobar'Si se espera que haya muchos espacios, puede usar una expresión regular global :
> 'foo bar baz otherfoo'.replace(/ /g, '') 'foobarbazotherfoo' Finalmente, si aún desea ver los límites de las palabras como lo sugiere @JoeKincognito, puede actualizar el segundo argumento desde un espacio vacío '' al separador de su elección, por ejemplo:
> 'foo bar baz otherfoo'.replace(/ /g, '-') 'foo-bar-baz-otherfoo' Esto le permitirá separar los términos de búsqueda más adelante si es necesario, y le permitirá diferenciar entre los usuarios que buscan, por ejemplo, butter y fingers de los usuarios que buscan dedos de butterfingers .
El método string.replace() admite expresiones regulares:
xxx.replace(/\s+/g, '') //xxx is an example string. \s: matches any whitespace symbol