--- title: String.prototype.search() slug: Web/JavaScript/Reference/Global_Objects/String/search tags: - JavaScript - Method - Prototype - Reference - Regular Expressions - String translation_of: Web/JavaScript/Reference/Global_Objects/String/search original_slug: Web/JavaScript/Referencia/Objetos_globales/String/search ---
{{JSRef("Objetos_globales", "String")}}
El método search()
ejecuta una búsqueda que encaje entre una expresión regular y el objeto String
desde el que se llama.
str.search(expresionregular)
obj
que no sea una expresión regular, se convierte implicitamente en una expresión regualar usando new RegExp(obj)
.El índice de la primera coincidencia entre la expresión regular y la cadena de texto proporcionada, si no se encuentra devuelve -1.
Cuando se desee saber en qué casos un patrón se encuentra en una cadena de texto utiliza search()
(si sólo deseas saber si existe, utiliza el método {{jsxref("RegExp.prototype.test()", "test()")}} del prototipo de RegExp
); para más información (pero de ejecución más lenta) utiliza {{jsxref("String.prototype.match()", "match()")}} (similar al método {{jsxref("RegExp.prototype.exec()", "exec()")}} de las expresiones regulares).
search()
El siguiente ejemplo imprime un mensaje dependiendo de cuál sea el resultado de la evaluación.
function testinput(re, str) { var midstring; if (str.search(re) != -1) { midstring = ' contains '; } else { midstring = ' does not contain '; } console.log(str + midstring + re); }
Especificaciones | Estado | Comentario |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Definición inicial. Implementado en JavaScript 1.2. |
{{SpecName('ES5.1', '#sec-15.5.4.12', 'String.prototype.search')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-string.prototype.search', 'String.prototype.search')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-string.prototype.search', 'String.prototype.search')}} | {{Spec2('ESDraft')}} |
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Característica | Android | Chrome para Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporte básico | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
search()
estaba mal implementado; cuando se invocaba sin parámetros o con {{jsxref("undefined")}}, buscaría coincidencias con la cadena 'undefined' en lugar de la cadena vacía. Esto está corregido; ahora 'a'.search()
y 'a'.search(undefined)
devuelven correctamente un 0.flags
está obsoleto y muestra un aviso en la consola ({{bug(1142351)}}).flags
no es soportado en compilaciones que no sean lanzamientos y pronto serán eliminadas por completo ({{bug(1245801)}}).flags
no es soportado ({{bug(1108382)}}).