Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

356
Visualizações
¿Cómo verificar si una cadena contiene palabras específicas?
$a = 'how are you'; if (strpos($a,'are') !== false) { echo 'true'; }

En PHP, podemos usar el código anterior para verificar si una cadena contiene palabras específicas, pero ¿cómo puedo hacer la misma función en JavaScript/jQuery?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

puedes usar indexOf para esto

 var a = 'how are you'; if (a.indexOf('are') > -1) { return true; } else { return false; }

Editar : esta es una respuesta antigua que sigue obteniendo votos de vez en cuando, así que pensé que debería aclarar que en el código anterior, la cláusula if no es necesaria en absoluto porque la expresión en sí es booleana. Aquí hay una mejor versión que deberías usar,

 var a = 'how are you'; return a.indexOf('are') > -1;

Actualización en ECMAScript2016:

 var a = 'how are you'; return a.includes('are'); //true
over 4 years ago · Santiago Trujillo Relatório

0

indexOf / includes no debe usarse para encontrar palabras completas:

Una palabra (en la cultura occidental) es un dibujo de símbolos cerca uno del otro, con algo de espacio entre cada palabra. Una palabra se considera como tal si es una pieza completa de caracteres unidos y no una parte parcial de ella:

 "has a word".indexOf('wor') // 6 ("wor" is not a word in this sentence) "has a word".includes('ha') // true ("ha" is not a word in this sentence)

Compruebe si hay una sola palabra (palabra completa ) en la cadena

Encuentre una palabra completa real , no solo si las letras de esa palabra están en algún lugar de la cadena.

 const wordInString = (s, word) => new RegExp('\\b' + word + '\\b', 'i').test(s); // tests [ '', // true ' ', // true 'did', // true 'id', // flase 'yo ', // flase 'you', // true 'you not' // true ].forEach(q => console.log( wordInString('dID You, or did you NOt, gEt WHy?', q) )) console.log( wordInString('did you, or did you not, get why?', 'you') // true )

Compruebe si todas las palabras están en la cadena

 var stringHasAll = (s, query) => // convert the query to array of "words" & checks EVERY item is contained in the string query.split(' ').every(q => new RegExp('\\b' + q + '\\b', 'i').test(s)); // tests [ '', // true ' ', // true 'aa', // true 'aa ', // true ' aa', // true 'd b', // false 'aaa', // false 'a b', // false 'aaaaa ', // false ].forEach(q => console.log( stringHasAll('aA bB cC dD', q) ))

over 4 years ago · Santiago Trujillo Relatório

0

Si está buscando palabras exactas y no quiere que coincida con cosas como "pesadilla" (que es probablemente lo que necesita), puede usar una expresión regular:

 /\bare\b/gi \b = word boundary g = global i = case insensitive (if needed)

Si solo desea encontrar los caracteres "son", use indexOf .

Si desea hacer coincidir palabras arbitrarias, debe construir programáticamente un objeto RegExp (expresión regular) basado en la cadena de palabras y usar test .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda