1. طريقة التكرار: كرر سلسلة n مرات. على سبيل المثال: كرر ("Chaojidan" ، 2) -> Chaoschaojidanchaojidan
الطريقة 1:
نسخة الكود كما يلي:
تكرار الوظيفة (str ، n) {
return array.prototype.join.call ({length: n+1} ، str) ؛
// تنفيذ طريقة الانضمام في سياق صفيف الفئة {length: n+1} وتمرير في str. وهذا هو ، خيار استخدام STR لفصل صفائف الفصل. صفيف الفصل فارغ ، لذلك هناك strs مفصولة n+1 "" ، والنتيجة هي اتصالات n str.
}
الطريقة 2:
نسخة الكود كما يلي:
تكرار الوظيفة (str ، n) {
var s = str ، total = "" ؛
بينما (n> 0) {
// لنفترض أن n هو 5 ، بعد n ٪ 2 ، فإنه يساوي 1 ، لذلك المجموع = str.s = str. ن = 2. الحلقة الثانية: s = strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrster ، n = 1. مجموع الحلقة الثالثة = strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrsh
إذا (n ٪ 2 == 1) {
المجموع + = s ؛ // هنا هي قوة 0 من 2 ، أي 1. يمكن الجمع بين جميع الأعداد الصحيحة الإيجابية باستخدام 1 ، 2 ، 4 ، 8 .... على سبيل المثال: 3 = 1+2،5 = 1+4،7 = 1+2+4.
}
إذا (n == 1) كسر ؛
s+= s ؛ // يتم استخدام قوة 2 هنا ، 2 ، 4 ، 8 ...
n = n >> 1 ؛
}
إجمالي إرجاع
}
2. خذ طول جميع بايت السلسلة: str.charcodeat (i)> 255 وأضف طول Str مرة واحدة ولا بأس.
3. قم بتحويل نمط الجمل: str.replace (/[-_] [^-_]/g ، الدالة (مطابقة) {return match.charat (1) .ToupperCase () ؛})
// -_ in [] ، /غير ضروري ، و ^ في [] يعني عكسي ، أي عند المواجهة -a أو _a ، يتم استبداله بـ (المباراة هي سلسلة المطابقة العادية _a ، ثم خذ ، والاستفادة)
4. تحويل إلى نمط السفلية: str.replace (/([az/d]) ([az])/g ، '$ 1_ $ 2'). استبدال (//-/g ، '_'). tolowercase () ؛
// أول سلسلة استبدال ، تتطابق مع CA ، أو 4A ، ويحل محلها بـ C_A أو 4_A. 1 دولار يمثل أول التعبير الفرعي. الاستبدال الثاني هو استخدام _replace-. منذ - ليس في [] ، تحتاج إلى إضافة /.
5. قم بإزالة علامة HTML في السلسلة: str.replace (/<[^>]+>/g ، '') ، ستتم إزالة علامة البرنامج النصي ، ولكن لن تتم إزالة البرنامج النصي JS في البرنامج النصي.
6. قم بإزالة علامة البرنامج النصي وإزالة البرنامج النصي JS داخل: str.replace (/<script [^>]*> (/s/s)*؟) <// script>/img ، '')
/ مطلوب لاستخدام / لمنع الهروب.
// (/s/s)*؟) أقل عدد ممكن من المباريات ، مباريات غير غريدي. على سبيل المثال: <script> aaa </script> dddd <script> bbbb </script> ستطابق أولاً <script> aaa </script> ، ثم تطابق <script> bbbb </script>. إذا لم تكن هناك إضافة ، فستكون مباراة جشع. سيتم مطابقة جميع <script> aaa </script> ، وسيتم إزالة جميع سلاسل الواصلة.
7. الهروب من السلسلة من خلال HTML للحصول على المحتوى مناسب للعرض على الصفحة.
str.replace (/&/g ، '&'). استبدال (/</g ، '<'). استبدال (// g ، '>'). استبدال (/"، ''). استبدال (/g ، '' ') ؛
8. قم بتغيير حرف كيان HTML للسلسلة إلى الحرف المقابل:
على النقيض من 7 ، لا يوجد سوى استبدال واحد آخر (/&#([/d]+) ؛/g ، الدالة ($ 0 ، $ 1) {return string.fromcharcode (parseint ($ 1،10))}) // $ 1 هو أول تطابق فرعي.
9.trim: str.replace (/^/s+ |/s+ $/g ، '') ، أي المتصفحات القياسية المبكرة ، لم يسرد العديد من الشخصيات التي كانت فارغة في الأصل/s ، لذلك ستكون هناك أخطاء. ومع ذلك ، لماذا تهتم بالتوافق مع المتصفحات القضاء؟