Fonction « Remplacer » de JavaScript : comprendre les remplacements globaux
Lorsque vous utilisez la fonction « remplacer » de JavaScript pour modifier des chaînes, il peut être surprenant de découvrir qu'il remplace uniquement la première instance d'une sous-chaîne spécifiée par défaut. Ce comportement peut s'expliquer par l'absence du drapeau « global », qui est désigné par la lettre « g ».
Considérons l'exemple suivant :
var date = $('#Date').val(); // Retrieves the value from a textbox, e.g. "12/31/2009" var id = 'c_' + date.replace("/", ''); // Attempts to remove all slashes from the date
La chaîne résultante, " c_1231/2009", démontre que seule la première occurrence du caractère barre oblique a été remplacée, laissant la deuxième barre oblique intacte.
Pour remédier à ce problème, l'indicateur "g" doit être inclus dans l'expression régulière :
date.replace(new RegExp("/", "g"), '') // Uses a regular expression to find and replace all slashes in the date // or date.replace(/\//g, '') // A shorthand notation for the above regular expression
En définissant l'indicateur "g", la fonction "remplacer" de JavaScript parcourra la chaîne d'entrée et remplacera chaque occurrence de la sous-chaîne spécifiée, garantissant que toutes les instances sont modifiées comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!