ホームページ >ウェブフロントエンド >jsチュートリアル >Notes_JavaScript スキルを読むための JavaScript フレームワーク設計における文字列の拡張と修復

Notes_JavaScript スキルを読むための JavaScript フレームワーク設計における文字列の拡張と修復

WBOY
WBOYオリジナル
2016-05-16 16:29:391423ブラウズ

1.repeat メソッド: 文字列を n 回繰り返します。例:repeat("チャオジダン",2) ->チャオジダンチャオジダン

方法 1:

コードをコピーします コードは次のとおりです:

関数repeat(str,n){
return Array.prototype.join.call({length:n 1},str); //クラス配列 {length:n 1} のコンテキストで join メソッドを実行し、str に渡します。つまり、str を使用してクラス配列のオプションを区切ります。クラス配列は空であるため、n 1 "" で区切られた n str が存在し、結果は n str 接続になります。
}

方法 2:

コードをコピーします コードは次のとおりです:
関数repeat(str,n){
var s = str ,total = "";
while(n>0){ //n が 5 であると仮定します。n%2 以降は 1 に等しいため、total = str.s=strstr となります。 n=2。2 番目のループ: s=strstrstrstr、n=1、3 番目のループ total = strstrstrstrstr、break、ループから抜け出して、str が 5 回繰り返される文字列を返します
if(n%2 ==1){
Total =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。str の長さを 1 回追加するだけでOKです。

3. キャメルケース形式に変換します: str.replace(/[-_][^-_]/g,function(match){return match.charAt(1).toUpperCase();})

//-_[] では使用する必要はありません。[] の ^ はその逆を意味します。つまり、-a または _a が見つかった場合、A に置き換えられます (一致は通常の一致です)。文字列 _a、次に a を取得して大文字にします)

4. 下線スタイルに変換します: str.replace(/([a-zd])([A-Z])/g,'$1_$2').replace(/-/g,'_').toLowerCase ();

//最初の置換は cA または 4A の文字列と一致し、次にそれを c_A または 4_A に置き換えます。 $1 は最初の部分式を表します。 2 番目の置換は、_ を使用して - を置換することです。 []内に-が入っていないので追加する必要があります。

5. 文字列内の html タグを削除します: str.replace(/<[^>] >/g,'')。これにより script タグは削除されますが、js スクリプトは削除されません。スクリプト

6. script タグを削除し、その中の js スクリプトを削除します: str.replace(/]*>(Ss)*?)/img,'')

/ エスケープを防ぐために使用する必要があります。

//(Ss)*?) 可能な限り一致しない、貪欲でない一致。例: <script>aaa</script>dddd<script>bbbb</script> が最初に一致し、次に <script>bbbb</script> が一致します。貪欲一致であり、すべての <script>aaa</script>dddd<script>bbbb</script> に一致します。文字列 dddd も削除されます。

7. HTML で文字列をエスケープして、ページ上に表示するのに適したコンテンツを取得します。

str.replace(/&/g,'&').replace(//g,'>').replace(/"/ g,'"').replace(/'/g,''');

8. 文字列の HTML エンティティ文字を対応する文字に置き換えます:

7 の逆で、もう 1 つ replace(/([d] );/g,function($0,$1){ return String.fromCharCode(parseInt($1,10)) }) //$1 は最初の部分式の一致。

9.trim:str.replace(/^s | s $/g,'') 、IE または初期の標準ブラウザでは、多くの空白文字が s としてリストされないため、バグが発生します。しかし、なぜ古いブラウザとの互換性にこだわるのでしょうか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。