String.prototype.search()
Resumen
El método search()
ejecuta una búsqueda que encaje entre una expresión regular y el objeto String
desde el que se llama.
Sintaxis
str.search(expresionregular)
Parámetros
- regexp
- Un objeto expresión regular. Si se pasa un objeto
obj
que no sea una expresión regular, se convierte implicitamente en una expresión regualar usandonew RegExp(obj)
.
Valor devuelto
El índice de la primera coincidencia entre la expresión regular y la cadena de texto proporcionada, si no se encuentra devuelve -1.
Descripción
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 test()
del prototipo de RegExp
); para más información (pero de ejecución más lenta) utiliza match()
(similar al método exec()
de las expresiones regulares).
Ejemplos
Utilizando 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
Especificaciones | Estado | Comentario |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Definición inicial. Implementado en JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) La definición de 'String.prototype.search' en esta especificación. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La definición de 'String.prototype.search' en esta especificación. |
Standard | |
ECMAScript (ECMA-262) La definición de 'String.prototype.search' en esta especificación. |
Living Standard |
Compatibilidad con navegadores
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help! (en-US)
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Característica | Android | Chrome para Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Notas específicas de Gecko
- Antes de Gecko 8.0,
search()
estaba mal implementado; cuando se invocaba sin parámetros o conundefined
, 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. - Desde Gecko 39 (Firefox 39 / Thunderbird 39 / SeaMonkey 2.36), el argumento no estándar
flags
está obsoleto y muestra un aviso en la consola (error 1142351). - Desde Gecko 47 (Firefox 47 / Thunderbird 47 / SeaMonkey 2.44), el argumento no estándar
flags
no es soportado en compilaciones que no sean lanzamientos y pronto serán eliminadas por completo (error 1245801). - Desde Gecko 49 (Firefox 49 / Thunderbird 49 / SeaMonkey 2.46), el argumento no estándar
flags
no es soportado (error 1108382).