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

355
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 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