Maison > Article > interface Web > Comment remplacer les espaces par javascript
Comment remplacer les espaces par JavaScript : 1. Utilisez "name.replace(" ","");" 2. Utilisez "replace(new RegExp(/( )/g),"" ); "; 3. Utilisez "name.split(" ").join("");" et ainsi de suite.
L'environnement d'exploitation de cet article : système Windows 7, version JavaScript 1.8.5, ordinateur Dell G3.
Le remplacement des espaces dans la zone de saisie dans JS est une opération très courante lors du traitement des exigences de formulaire pour éviter les anomalies de données causées par les habitudes de fonctionnement de l'utilisateur et assurer la sécurité du transfert de paramètres.
NO.1
name.replace(" ","");
La méthode ci-dessus est un remplacement très simple, mais elle présente deux faiblesses :
1 Elle ne peut remplacer qu'un seul espace anglais ou chinois. (pleine largeur) ;
2. Seule la première correspondance de la chaîne actuelle peut être remplacée.
NO.2
name.replace(new RegExp(/( )/g),"");
La méthode ci-dessus passe par une correspondance régulière et peut tout remplacer, mais il y a encore une faiblesse :
Seuls les espaces anglais ou chinois peuvent le faire. être remplacé (pleine largeur).
NO.3
name.split(" ").join("");
La méthode ci-dessus consiste à séparer et fusionner par caractères, qui peuvent tous remplacer, mais il y a toujours une faiblesse :
Cela ne peut que 1. remplacez les espaces anglais ou l'un des espaces chinois (pleine largeur).
NO.4
name.replace(/(^\s*)|(\s*$)/g,"");
La méthode ci-dessus peut remplacer les espaces anglais ou chinois grâce à une correspondance régulière, mais il y a une faiblesse :
Elle ne peut remplacer que le début et. espaces de fin. Ne fonctionne pas sur les espaces au milieu de la chaîne.
Le mouvement ultime
name.replace(/\s+/g,"");
La méthode ci-dessus consiste en une correspondance régulière, qui peut remplacer les espaces anglais ou chinois et les remplacer tous.
[Remarque] Il n'y a pas de méthode dite replaceAll dans JS. Le résultat du test de l'auteur est "indéfini" et ne peut pas être reconnu sur la page. Bien sûr, il existe également une solution de contournement, qui consiste à réécrire le prototype de la méthode replaceAll en fonction de la fonction de replace :
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { if (!RegExp.prototype.isPrototypeOf(reallyDo)) { return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith); } else { return this.replace(reallyDo, replaceWith); } }
[Apprentissage recommandé : Tutoriel avancé javascript]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!