Il s'agit d'une question d'entretien de la société lgzx. Elle nécessite l'ajout d'une méthode à la chaîne de js pour supprimer les caractères d'espacement (y compris les espaces, les tabulations, les sauts de formulaire, etc.) des deux côtés de la chaîne.
Copiez le code comme suit :
String.prototype.trim = fonction() {
//retourne this.replace(/[(^/s+)(/s+$)]/g,"");//Supprime les caractères d'espacement dans la chaîne
//retourne ceci.replace(/^/s+|/s+$/g,""); //
return this.replace(/^/s+/g,"").replace(//s+$/g,"");
}
JQuery1.4.2, utilisé par Mootools
Copiez le code comme suit :
fonction trim1(str){
return str.replace(/^(/s|/xA0)+|(/s|/xA0)+$/g, '');
}
jQuery1.4.3, utilisé par Prototype. Cette méthode supprime g pour améliorer légèrement les performances. Elle offre de meilleures performances lors du traitement de chaînes à petite échelle.
Copiez le code comme suit :
fonction trim2(str){
return str.replace(/^(/s|/u00A0)+/,'').replace(/(/s|/u00A0)+$/,'');
}
Après avoir effectué des tests de performances, Steven Levithan a proposé le moyen le plus rapide de couper des chaînes dans JS, qui offre de meilleures performances lors du traitement de chaînes longues.
Copiez le code comme suit :
fonction trim3(str){
str = str.replace(/^(/s|/u00A0)+/,'');
pour(var i=str.length-1; i>=0; i--){
if(//S/.test(str.charAt(i))){
str = str.substring(0, i+1);
casser;
}
}
return str;
}
La dernière chose à mentionner est que ECMA-262 (V5) ajoute une méthode de trim native (15.5.4.20) à String. De plus, les méthodes trimLeft et trimRight ont été ajoutées à String dans le moteur Molliza Gecko 1.9.1.