El método test() ejecuta la búsqueda de una ocurrencia entre una expresión regular y una cadena especificada. Devuelve true o false.

Sintaxis

regexObj.test(cadena)

Parámetros

cadena
La cadena a comparar contra la expresión regular.

Valor de Retorno

Retorna true si existe una coincidencia entre la expresión regular y la cadena especificada; de lo contrario retorna false.

Descripción

Use test() cuando desee saber si existe la ocurrencia de un patrón en una cadena (similar al método String.prototype.search(), la diferencia es que test() devuelve un booleano, mientras que search() devuelve el índice de la coincidencia (si la encuentra) o -1 si no la encuentra).

Si requiere más información (a coste de una ejecución más lenta) utilice el método exec(). Al igual que este último, multiples llamadas a test() sobre la misma instancia global de una expresión regular avanzará desde de la ocurrencia anterior.

Ejemplos

Usando test()

Ejemplo simple que prueba si "hello" está contenido al principio de una cadena y devuelve un valor booleano.

var cadena = "hello world!";
var result = /^hello/.test(cadena);
console.log(result); // true

El siguiente ejemplo registra un mensaje que depende del éxito de la prueba:

function probarEntrada(regexp, cadena){
  var subcadena;
  if (regexp.test(cadena)) {
    subcadena = ' contiene ';
  } else {
    subcadena = ' no contiene ';
  }
  console.log(cadena + subcadena + regexp.source);
}

Especificaciones

Especificación Estado Comentario
ECMAScript 3rd Edition (ECMA-262) Standard Definition inicial. Implementado en JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
La definición de 'RegExp.test' en esta especificación.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'RegExp.test' en esta especificación.
Standard  
ECMAScript Latest Draft (ECMA-262)
La definición de 'RegExp.test' en esta especificación.
Draft  

Compatibilidad en 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!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Notas específicas para Gecko

Antes de Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5), test() estaba incorrectamente implementado; cuando era llamado sin parámetros, buscaba emparejar contra el valor de la entrada anterior (la propiedad RegExp.input) en lugar de hacerlo contra la cadena "undefined". Esto ha sido corregido; ahora /undefined/.test() resulta correctamente en true, en lugar de un error.

Vea también

Etiquetas y colaboradores del documento

Colaboradores en esta página: Undre4m
Última actualización por: Undre4m,