1. REPEAT MÉTHODE: Répétez une chaîne n fois. Par exemple: répéter ("Chaojidan", 2) -> Chaoschaojidanchaojidan
Méthode 1:
La copie de code est la suivante:
Fonction Repeat (str, n) {
return array.prototype.join.call ({longueur: n + 1}, str);
// Exécutez la méthode de jointure dans le contexte du tableau de classe {longueur: n + 1} et passe dans Str. Autrement dit, l'option d'utiliser STR pour séparer les tableaux de classe. Le tableau de classe est vide, il y a donc n STRS séparés n + 1 "", et le résultat est n connexions STR.
}
Méthode 2:
La copie de code est la suivante:
Fonction Repeat (str, n) {
var s = str, total = "";
while (n> 0) {
// Supposons que n est 5, après n% 2, il est égal à 1, donc total = str.s = str. n = 2. La deuxième boucle: S = strStrstrtrstrtrstrtr, n = 1. La troisième boucle totale = strStrstrstrtrstrtr, casse, sauter de la boucle, retour total, juste la chaîne que STR a été répétée 5 fois
if (n% 2 == 1) {
total + = s; // Voici la puissance de 0 sur 2, c'est-à-dire 1. Tous les entiers positifs peuvent être combinés en utilisant 1, 2, 4, 8 .... par exemple: 3 = 1 + 2,5 = 1 + 4,7 = 1 + 2 + 4.
}
if (n == 1) casser;
S + = S; // La puissance de 2 est utilisée ici, 2, 4, 8 ...
n = n >> 1;
}
retour total;
}
2. Prenez la longueur de tous les octets de la chaîne: str.charcodeat (i)> 255 et ajoutez la longueur de Str une fois et c'est OK.
3. Convertir le style de chameau: str.replace (/ [-_] [^ -_] / g, fonction (match) {return Match.Charat (1) .toupperase ();})
// -_ dans [], / n'est pas nécessaire, et ^ en [] signifie inverse, c'est-à-dire lorsqu'il rencontre -a ou _a, il est remplacé par un (correspondance est la chaîne correspondante régulière _a, puis prendre un et capitaliser)
4. Convertir en style de soulignement: str.replace (/ ([az / d]) ([az]) / g, '1_ $ $ 2'). Remplace (// - / g, '_'). TolowerCase ();
// Le premier Remplacer, correspond à CA ou 4A String, et le remplace par C_A ou 4_A. 1 $ représente la première sous-subexpression. Le deuxième remplacement consiste à utiliser _replace-. Puisque - n'est pas dans [], vous devez ajouter /.
5. Supprimez la balise html dans la chaîne: str.replace (/ <[^>] +> / g, ''), la balise de script sera supprimée, mais le script JS dans le script ne sera pas supprimé.
6. Supprimez la balise de script et supprimez le script JS à l'intérieur: str.replace (/ <script [^>] *> (/ s / s) *?) <// script> / img, '')
/ Requis pour utiliser / pour éviter de s'échapper.
// (/ s / s) *?) En peu de correspondances que possible, des correspondances non incorrectes. Par exemple: <Script> aaa </cript> dddd <script> bbbb </cript> correspondra d'abord à <Script> aaa </cript>, puis correspond à <prict> bbbb </cript>. S'il n'y a pas d'ajout, ce sera un match gourmand. Tous les <cript> aaa </cript> seront appariés et toutes les chaînes de trait d'union seront supprimées.
7. Échappez à la chaîne via HTML pour obtenir le contenu adapté à l'affichage sur la page.
str.replace (/ & / g, '&'). remplacer (/ </ g, '<'). Remplace (// g, '>'). Remplace (/ "/ g, ''). Remplace (/ '/ g,' '');
8. Changez le caractère d'entité HTML de la chaîne en caractère correspondant:
Contrairement à 7, il n'y a qu'un seul Remplace (/ & # ([/ d] +); / g, fonction (0 0, 1 1) {return String.FromCharcode (parseInt (1,10))}) // $ 1 est la première correspondance de sous-expression.
9. Cependant, pourquoi prendre la peine d'être compatible avec les navigateurs éliminés?