ホームページ > 記事 > ウェブフロントエンド > JavaScript正規表現のreplaceメソッドを詳しく解説_javascriptスキル
前回の記事では、正則化の基本的な 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>
その後、このパラメータで各結果を処理することができ、いくつかの単語で複数の * 記号が生成されます
<!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>
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。