JavaScript正規表現のreplaceメソッドを詳しく解説_javascriptスキル

WBOY
リリース: 2016-05-16 16:03:14
オリジナル
1208 人が閲覧しました

前回の記事では、正則化の基本的な 4 つの方法を紹介しましたが、その際に replace メソッドについても触れました

replace メソッドの使用法を確認してみましょう:
まず通常のオブジェクトを定義します: var re=/中央に一致する条件を書き込みます/;
replace(): 定期的に文字列を照合します。照合が成功した場合は、照合に成功した文字列を新しい文字列
に置き換えます。 構文: string.replace(re, new string);

例: インターネット上では、野蛮な単語が * に置き換えられることがよくあります。試してみましょう:


<!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>
ログイン後にコピー
もちろん、上記の変換効果に満足しているわけではありません。私が実現したいのは、いくつかの単語を変換した後に複数の * 記号を表示することです。

この時点で、replace(parameter 1,parameter 2) のパラメーター 2 をコールバック関数にする必要があります。プログラムを変換し、2 番目のパラメーターをコールバック関数に置き換えて、このコールバック関数を与えましょう。パラメータ

を渡します

<!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>
ログイン後にコピー
上記の結果は非常に奇妙であることがわかります。2 番目のパラメーターはコールバック関数ですが、コールバック関数内のパラメーターが表示されると、それらはすべて正常に一致した文字列です。

その後、このパラメータで各結果を処理することができ、いくつかの単語で複数の * 記号が生成されます


<!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>
ログイン後にコピー
上記の例を通して、replace メソッドについての理解は深まりましたか? 。 。 。 。

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!