--- title: RegExp.prototype.test() slug: Web/JavaScript/Reference/Global_Objects/RegExp/test tags: - Expresion Regular - Prototipo - metodo translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test original_slug: Web/JavaScript/Referencia/Objetos_globales/RegExp/test ---
El método test() ejecuta la búsqueda de una ocurrencia entre una expresión regular y una cadena especificada. Devuelve true o false.
regexObj.test(cadena)cadenaRetorna true si existe una coincidencia entre la expresión regular y la cadena especificada; de lo contrario retorna false.
Use test() cuando desee saber si existe la ocurrencia de un patrón en una cadena (similar al método {{jsxref("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 {{jsxref("RegExp.prototype.exec()", "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.
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);
}
| Especificación | Estado | Comentario | 
|---|---|---|
| {{SpecName('ES3')}} | {{Spec2('ES3')}} | Definition inicial. Implementado en JavaScript 1.2. | 
| {{SpecName('ES5.1', '#sec-15.10.6.3', 'RegExp.test')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-regexp.prototype.test', 'RegExp.test')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-regexp.prototype.test', 'RegExp.test')}} | {{Spec2('ESDraft')}} | 
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari | 
|---|---|---|---|---|---|
| Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | 
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|---|
| Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | 
Antes de Gecko 8.0 {{geckoRelease("8.0")}}, 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.