mozilla
Vos résultats de recherche

    RegExp.prototype.test()

    Résumé

    La méthode test() vérifie s'il y a une correspondance entre un texte et une expression rationnelle. Elle retourne true en cas de succès et false dans le cas contraire.

    Syntaxe

    regexObj.test(chaîne)

    Paramètres

    chaîne
    La chaîne de caractères qu'on souhaite comparer à l'expression rationnelle.

    Valeur de retour

    Un booléen : true ou false.

    Description

    On utilisera test() dès qu'on souhaite savoir si une partie d'une chaîne de caractères correspond à une expression rationnelle (similaire à la méthode String.prototype.search()). Pour obtenir plus d'informations (mais une exécution moins rapide), on utilisera la méthode exec() (similaire à la méthode String.prototype.match()). Comme avec exec() (et même en combinant les deux), des appels successifs à test() sur une même instance d'une expression rationnelle permettent de rechercher après la dernière occurence.

    Exemples

    Utiliser test()

    L'exemple ci-dessous affiche un message qui dépend du succès du test :

    function testinput(re, str){
        var midstring;
        if (re.test(str)) {
            midstring = " contient ";
        } else {
            midstring = " ne contient pas ";
        }
        console.log(str + midstring + re.source);
    }
    

    Spécifications

    Spécification Statut Commentaires
    Troisième édition d'ECMAScript. Standard Définition initiale. Implémentée avec JavaScript 1.2.
    ECMAScript 5.1 (ECMA-262)
    La définition de 'RegExp.test' dans cette spécification.
    Standard  
    ECMAScript 6 (ECMA-262)
    La définition de 'RegExp.test' dans cette spécification.
    Draft  

    Compatibilité des navigateurs

    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Support simple (Oui) (Oui) (Oui) (Oui) (Oui)
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

    Notes spécifiques à Gecko

    Pour les versions antérieures à Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5), l'implémentation de test() était erronée. Quand la méthode était appelée sans aucun paramètre, elle effectuait son test par rapport à la dernière entrée (la propriété RegExp.input) et non par rapport à la chaîne "undefined". Ce comportement a été corrigé  ; désormais /undefined/.test() retourne bien true au lieu d'une erreur.

    Voir aussi

    Étiquettes et contributeurs liés au document

    Contributors to this page: J.DMB, SphinxKnight, Tolokoban
    Dernière mise à jour par : SphinxKnight,