JavaScript / jQuery supprimant le caractère 160 de la valeur text () d’un nœud – Regex

$('#customerAddress').text().replace(/\xA0/,"").replace(/\s+/," "); 

Après la valeur dans une plage (id = customerAddress), j’aimerais réduire toutes les sections d’espaces en un seul espace. Le / \ s + / / devrait fonctionner sauf que l’application obtient un caractère 160 entre l’adresse de la rue et l’état / zip. Quel est le meilleur moyen d’écrire cela? cela ne fonctionne pas actuellement.

UPDATE : J’ai compris que

 $('.customerAddress').text().replace(/\s+/g," "); 

efface les 160 et les espaces. Mais comment pourrais-je écrire une regex juste après les années 160?

 $('.customerAddress').text().replace(Ssortingng.fromCharCode(160)," "); 

n’a même pas fonctionné.

Note: je teste dans Firefox / Firebug

\s contient déjà le caractère U + 00A0 :

 [\t\n\v\f\r \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000] 

Mais vous devriez append le modificateur g pour remplacer globalement:

 $('#customerAddress').text().replace(/\s+/g, " ") 

Sinon, seul le premier match sera remplacé.

En ce qui concerne le remplacement du caractère 160, vous avez oublié de créer une expression rationnelle globale. Vous ne remplacez donc que la première correspondance. Essaye ça:

 $('.customerAddress').text() .replace(new RegExp(Ssortingng.fromCharCode(160),"g")," "); 

Ou encore plus simple, utilisez votre exemple Hex dans votre question avec l’indicateur global

 $('.customerAddress').text().replace(/\xA0/g," "); 

Désolé si je suis évident (ou faux), mais .text () quand on l’appelle sans parameters retourne simplement le texte? Je veux dire, je ne sais pas si vous avez inclus le code complet ou juste un extrait, mais pour vraiment remplacer la plage, vous devriez le faire comme ceci:

 var t = $('#customerAddress').text().replace(/\xA0/,"").replace(/\s+/," "); $('#customerAddress').text(t); 

Autre que cela, la regex pour réduire les espaces semble OK, je ne suis pas sûr de la syntaxe de votre caractère non imprimable.