Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

119
Vistas
sugerencia de búsqueda basada en cualquier letra de cadena

Estoy tratando de escribir un código de script java que la sugerencia automática se basa en cadenas previas al juicio, por así decirlo.

aquí un ejemplo de lo que quiero decir:

si tenemos una matriz de cadenas => ['texto', 'manzana', 'texas', 'tiempo', 'java', 'java script', 'bolígrafo']

lo que quiero lograr es esto: cuando el usuario escribe ==> "te", la función debe devolver esto ==> 'texto' y 'texas'

PERO

si el usuario escribe ==> "t*e" O "t e" con espacio entre la función, debería devolver esto ==> 'texto', 'texas' Y 'tiempo' ya que contiene las dos letras sin importar el orden

lo mismo si el usuario escribe ==> "p*e" O "p e", el resultado debería ser ==> 'apple' y 'pen' ya que el stand contiene las letras 'p' y 'e'

aquí lo que he hecho hasta ahora

 const nameInput = document.getElementById('name') const names = [ 'text' , 'apple' , 'texas' , 'time' , 'java' , 'java script' , 'pen' ] nameInput.addEventListener('keyup', ()=> { // console.log(nameInput.value) const text = nameInput.value.trim().replace(/\s/g, '') // console.log(text) const a = names.filter(name => name.includes(text)) console.log(a) })
 <input type="text" placeholder="search" id="name">

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Según su publicación t*e está fallando ya que no los alcanza en su expresión regular. Una forma más robusta es reemplazar todos los caracteres alfanuméricos. Puede hacerlo rápidamente con un ligero cambio de expresión regular a /[\W_]+/g

 const text = nameInput.value.trim().replace(/[\W_]+/g, '')

Código de trabajo a continuación

 const nameInput = document.getElementById('name') const names = ['text', 'apple', 'texas', 'time', 'java', 'java script', 'pen'] nameInput.addEventListener('keyup', () => { // console.log(nameInput.value) const text = nameInput.value.trim().replace(/[\W_]+/g, '') // console.log(text) const a = names.filter(name => name.includes(text)) console.log(a) })
 <input type="text" placeholder="search" id="name">

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda