--- 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 --- <div>{{JSRef}}</div> <p>El método <code><strong>test()</strong></code> ejecuta la búsqueda de una ocurrencia entre una expresión regular y una cadena especificada. Devuelve <code>true</code> o <code>false</code>.</p> <h2 id="Sintaxis">Sintaxis</h2> <pre class="syntaxbox"><code><var>regexObj</var>.test(<var>cadena</var>)</code></pre> <h3 id="Parámetros">Parámetros</h3> <dl> <dt><code>cadena</code></dt> <dd>La cadena a comparar contra la expresión regular.</dd> </dl> <h3 id="Valor_de_Retorno">Valor de Retorno</h3> <p>Retorna <code>true</code> si existe una coincidencia entre la expresión regular y la cadena especificada; de lo contrario retorna <code>false</code>.</p> <h2 id="Descripción">Descripción</h2> <p>Use <code>test()</code> 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 <code>test()</code> devuelve un booleano, mientras que <code>search()</code> devuelve el índice de la coincidencia (si la encuentra) o -1 si no la encuentra).</p> <p>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 <code>test()</code> sobre la misma instancia global de una expresión regular avanzará desde de la ocurrencia anterior.</p> <h2 id="Ejemplos">Ejemplos</h2> <h3 id="Usando_test()">Usando <code>test()</code></h3> <p>Ejemplo simple que prueba si "hello" está contenido al principio de una cadena y devuelve un valor booleano.</p> <pre class="brush: js">var cadena = "hello world!"; var result = /^hello/.test(cadena); console.log(result); // true </pre> <p dir="ltr" id="tw-target-text">El siguiente ejemplo registra un mensaje que depende del éxito de la prueba:</p> <pre class="brush: js">function probarEntrada(regexp, cadena){ var subcadena; if (regexp.test(cadena)) { subcadena = ' contiene '; } else { subcadena = ' no contiene '; } console.log(cadena + subcadena + regexp.source); } </pre> <h2 id="Especificaciones">Especificaciones</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Especificación</th> <th scope="col">Estado</th> <th scope="col">Comentario</th> </tr> <tr> <td>{{SpecName('ES3')}}</td> <td>{{Spec2('ES3')}}</td> <td>Definition inicial. Implementado en JavaScript 1.2.</td> </tr> <tr> <td>{{SpecName('ES5.1', '#sec-15.10.6.3', 'RegExp.test')}}</td> <td>{{Spec2('ES5.1')}}</td> <td> </td> </tr> <tr> <td>{{SpecName('ES6', '#sec-regexp.prototype.test', 'RegExp.test')}}</td> <td>{{Spec2('ES6')}}</td> <td> </td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-regexp.prototype.test', 'RegExp.test')}}</td> <td>{{Spec2('ESDraft')}}</td> <td> </td> </tr> </tbody> </table> <h2 id="Compatibilidad_en_Navegadores">Compatibilidad en Navegadores</h2> <div>{{CompatibilityTable}}</div> <div id="compat-desktop"> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> <th>Opera</th> <th>Safari</th> </tr> <tr> <td>Basic support</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> </tr> </tbody> </table> </div> <div id="compat-mobile"> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Android</th> <th>Chrome for Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Mobile</th> <th>Opera Mobile</th> <th>Safari Mobile</th> </tr> <tr> <td>Basic support</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> <td>{{CompatVersionUnknown}}</td> </tr> </tbody> </table> </div> <h3 id="Notas_específicas_para_Gecko">Notas específicas para Gecko</h3> <p>Antes de Gecko 8.0 {{geckoRelease("8.0")}}, <code>test()</code> estaba incorrectamente implementado; cuando era llamado sin parámetros, buscaba emparejar contra el valor de la entrada anterior (la propiedad <code>RegExp.input</code>) en lugar de hacerlo contra la cadena <code>"undefined"</code>. Esto ha sido corregido; ahora <code>/undefined/.test()</code> resulta correctamente en <code>true</code>, en lugar de un error.</p> <h2 id="Vea_también">Vea también</h2> <ul> <li>El capítulo <a href="/es/docs/Web/JavaScript/Guide/Regular_Expressions">Expresiones Regulares</a> de la <a href="https://developer.mozilla.org/es/docs/Web/JavaScript/Guide">Guía JavaScript</a></li> <li>{{jsxref("RegExp")}}</li> </ul>