Les chraceurs correspondent s'ils sont de retour à l'arrière. Si les caractères illégaux définis font partie d'une longue chaîne, le texte désinfecté correct n'est pas retourné. Les caractères illégaux que je veux trouver et remplacer par l'espace vide est '-_ + = [] {} \ |
J'ai lu divers blogs de regex, site réseau de développeurs Mozilla, ainsi que des réponses ici à Stackoverflow. J'ai utilisé \ pour +, [ et |. S'il y a un moyen plus simple, s'il vous plaît, partagez-la. P>
function dirtyString(str) { cleanString = str.replace(/-_\+=\[]{}\|/g, ""); return cleanString; }
3 Réponses :
Essayez de mettre vos caractères dans une classe de caractères de regex:
p>
function dirtyString(str) { cleanString = str.replace(/[\-_+=\[\]{}\\|]/g, ""); return cleanString; } var str = "HELLO-_+=[]{}|WORLD"; console.log(str); console.log(dirtyString(str));
Mettez vos personnages dans un Classe de caractères (supports internes)
une classe de caractères mathra-t-il tous les personnages de y. Par exemple, le regex Utilisez un / [abc] / g code> correspondrait à tous les A A, B, et C's (la classe de caractères est
[abc] code>. Également, la classe de caractères.
[a-za-z0-9] code> (que vous pouvez voir beaucoup) correspond à tous les caractères alphanumériques p>
/ code> avant les supports ( [] code>). Voir plus ici . P>
var string = "s[s ass'-sas_+as[aasd]{ss}\asddfa|a]fasdf";
string = string.replace(/[ '-_+=\[\]{}\|]/g, '');
console.log(string);
Vous devez les sélectionner via une classe de caractères ( p> [] code>);
function dirtyString(str) {
cleanString = str.replace(/[\-_+=\[\]{}\\|]/g, "");
return cleanString;
}
var string = "This -str_+in=g[ ]is {d}i|rty.";
console.log(dirtyString(string));