Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

122
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!