Maison >interface Web >js tutoriel >Explication détaillée de la méthode replace dans les expressions régulières javascript_compétences javascript

Explication détaillée de la méthode replace dans les expressions régulières javascript_compétences javascript

WBOY
WBOYoriginal
2016-05-16 16:03:141236parcourir

Dans l'article précédent, j'ai présenté les quatre méthodes de base de régularisation, et j'ai également mentionné la méthode de remplacement à ce moment-là

Revoyons l'utilisation de la méthode replace :
Définissez d'abord un objet régulier : var re=/écrivez les conditions de correspondance au milieu/;
replace() : Faites correspondre régulièrement les chaînes. Si la correspondance est réussie, remplacez la chaîne correspondante par une nouvelle chaîne
. Syntaxe : string.replace(re, new string);

Par exemple : On rencontre souvent sur Internet que des mots non civilisés seront remplacés par *Essayons :

.

<!DOCTYPE>
<html>
<head>
  <meta charset='utf-8'> 
  <title></title>
</head>
<script type="text/javascript">
window.onload=function(){
  var oTxtarea=document.getElementsByTagName('textarea');
  var oInpt=document.getElementById('bt');
  var re=/你妹|fuck|你大爷|萌萌/g;
  oTxtarea[0].value='我要看你妹,不行,你大爷,我要萌萌你妹,不行,你想想的太多了';
  oInpt.onclick=function(){  
    oTxtarea[1].value=oTxtarea[0].value.replace(re,'*');
  };  
};
</script>
<body>
  <textarea rows='7' cols='20'>
  </textarea><br />
  <input id='bt' type='button' value='转化不文明的语言'><br />
  <textarea rows='7' cols='20'>
  </textarea><br />
</body>
</html>
Bien sûr, nous ne sommes pas satisfaits de l'effet de conversion ci-dessus. Ce que je veux réaliser, c'est afficher plusieurs signes * après avoir converti quelques mots

À ce stade, nous devons analyser. En fait, le paramètre 2 dans replace(paramètre 1, paramètre 2) peut être une fonction de rappel. Transformons le programme, remplaçons le deuxième paramètre par une fonction de rappel et donnons cette fonction de rappel. passe un paramètre


<!DOCTYPE>
<html>
<head>
  <meta charset='utf-8'> 
  <title></title>
</head>
<script type="text/javascript">
window.onload=function(){
  var oTxtarea=document.getElementsByTagName('textarea');
  var oInpt=document.getElementById('bt');
  var re=/你妹|fuck|你大爷|萌萌/g;
  oTxtarea[0].value='我要看你妹,不行,你大爷,我要萌萌你妹,不行,你想想的太多了';
  oInpt.onclick=function(){  
    oTxtarea[1].value=oTxtarea[0].value.replace(re,function(obj){
        alert(obj);
        /*alert(obj.length);*/
    });
  };  
};
</script>
<body>
  <textarea rows='7' cols='20'>
  </textarea><br />
  <input id='bt' type='button' value='转化不文明的语言'><br />
  <textarea rows='7' cols='20'>
  </textarea><br />
</body>
</html>
On peut voir que le résultat ci-dessus est très étrange. Le deuxième paramètre est la fonction de rappel, mais lorsque les paramètres de la fonction de rappel sont affichés, ils correspondent tous à des chaînes avec succès

Ensuite on peut traiter chaque résultat dans ce paramètre, et quelques mots généreront plusieurs signes *


<!DOCTYPE>
<html>
<head>
  <meta charset='utf-8'> 
  <title></title>
</head>
<script type="text/javascript">
window.onload=function(){
  var oTxtarea=document.getElementsByTagName('textarea');
  var oInpt=document.getElementById('bt');
  var re=/你妹|fuck|你大爷|萌萌/g;
  oTxtarea[0].value='我要看你妹,不行,你大爷,我要萌萌你妹,不行,你想想的太多了';
  oInpt.onclick=function(){  
    oTxtarea[1].value=oTxtarea[0].value.replace(re,function(obj){
        var a='';
        for (var i = 0; i < obj.length; i++) {
          a+='*';
        }
        return a;
    });
  };  
};
</script>
<body>
  <textarea rows='7' cols='20'>
  </textarea><br />
  <input id='bt' type='button' value='转化不文明的语言'><br />
  <textarea rows='7' cols='20'>
  </textarea><br />
</body>
</html>
Grâce à l'exemple ci-dessus, avez-vous approfondi votre compréhension de la méthode de remplacement ? . . . .

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn