1.レピート方法:文字列をn回繰り返します。例:繰り返し( "Chaojidan"、2) - > Chaoschaojidanchaojidan
方法1:
コードコピーは次のとおりです。
関数繰り返し(str、n){
return array.prototype.join.call({length:n+1}、str);
// class array {length:n+1}のコンテキストで結合メソッドを実行し、strで渡します。つまり、STRを使用してクラス配列を分離するオプションです。クラスアレイは空であるため、N strs分離n+1 ""があり、結果はn str接続です。
}
方法2:
コードコピーは次のとおりです。
関数繰り返し(str、n){
var s = str、total = "";
while(n> 0){
// nが5であると仮定し、n%2の後、1に等しいので、合計= str.s = str。 n = 2。 2番目のループ:s = strstrstrstrstrstrtr、n = 1。 3番目のループ合計= strstrstrstrstrstrstrstrstrstrstrtrstrstrtrtrtrtrtrtrtr、ループから飛び出す、合計を返す、strが5回繰り返された文字列のみ
if(n%2 == 1){
合計 + = s; //ここに2の0、つまり、1、1、2、4、8を使用してすべての正の整数を組み合わせることができます。たとえば、3 = 1+2,5 = 1+4,7 = 1+2+4。
}
if(n == 1)break;
s+= s; // 2の電力がここで使用されています、2、4、8 ...
n = n >> 1;
}
合計を返します。
}
2。文字列のすべてのバイトの長さを取得します:str.charcodeat(i)> 255を使用し、1回strの長さを追加してください。
3。キャメルスタイルの変換:str.replace(/[-_] [^-_]/g、function(mate){return match.charat(1).touppercase();})
// -_ in []、 /は必要ありません。 ^ in []は逆です。つまり、-aまたは_aに遭遇すると、a(一致は通常の一致する文字列_a、次にaを取る、そして大文字です)に置き換えられます)
4。アンダースコアスタイルに変換:str.replace(/([az/d])([az])/g、 '$ 1_ $ 2')。
//最初の交換、CAまたは4A文字列に一致し、C_Aまたは4_Aに置き換えます。 $ 1は最初のサブエクスペッションを表します。 2番目の置き換えは、_replace-を使用することです。 - []にないので、追加する必要があります。
5.文字列のHTMLタグを削除:str.replace(/<[^>]+>/g、 '')、スクリプトタグは削除されますが、スクリプトのJSスクリプトは削除されません。
6.スクリプトタグを削除し、内部のjsスクリプトを削除します:str.replace(/<script [^>]*>(/s/s)*?)<// script>/img、 ''
/逃げるのを防ぐために使用する必要があります。
//(/s/s)*?)できるだけ少ないマッチ、非グリーディの一致。例:<script> aaa </script> ddddd <script> bbbb </script>は<script> aaa </script>を最初に一致させ、<script> bbbb </script>を一致させます。追加がなければ、それは貪欲な試合になります。すべての<script> aaa </script>が一致し、すべてのハイフン文字列が削除されます。
7. HTMLを介して文字列をエスケープして、コンテンツをページに表示するのに適しています。
str.Replace(/&/g、 '&')。置換(/</g、 '<')。置き換え(// g、 '>')。置き換え(/"/g、 '')。
8。文字列のHTMLエンティティ文字を対応する文字に変更します。
7とは対照的に、もう1つの交換(/&#([/d]+);/g、function($ 0、$ 1){return string.fromCharcode(parseint($ 1,10))})// $ 1のみが1つだけあります。
9.Trim:str.Replace(/^/s+ |/s+ $/g、 '')、つまり、または初期の標準ブラウザは、元々空白のような文字を/sにリストしなかったため、バグがあります。しかし、なぜ排除されたブラウザと互換性があるのですか?