Ich versuche, den Wert eines <select></select>
Tags als festgelegt aus dem ausgewählten <option>
Wert zu erhalten und alle Leerzeichen in dem Wert durch einen Bindestrich zu ersetzen. im Moment bin ich gerade dann console.log()
der Wert für die Prüfung, aber aus irgendeinem Grund anstelle der Auswahl von Leerzeichen wählt und ersetzt Kleinbuchstaben "s". Der Code Ich verwende ist: <select onchange='var cat = this.value; var modi = cat.replace(/\s/g , "-"); console.log(modi);'>
Javascript Regex Whitespace Replacement
Beispiel: zum Beispiel übernehmen die this.value gleich "Testwert"
Ausgang: te-t-Wert Erwartete Ausgabe: Test-Wert
Tipp für Fragen wie diese stellen: Nicht für reguläre Ausdrücke fragen. Sie müssen eine Art Textmanipulation durchführen, die besser mit anderen Mitteln bedient werden könnte. Erwägen Sie die Frage zu "Wie kann ich Leerzeichen in einem HTML-Optionselement ersetzen?" –
Dank @RayToal das ist ein guter Punkt, es war mehr zu sehen, wenn ich etwas in meinem Regex verpasste, wurde ich so geblendet durch die Frustration, immer und immer wieder zu lesen, dass es funktionieren sollte, dass ich vergaß, Alternative zu betrachten . – brodiemigas
Der Code in Ihrer Frage scheint zu funktionieren (https://jsfiddle.net/bxqabgc9/1/) (in Chrome sowieso). Da Sie sagen, dass das Literal "s" ersetzt wurde, frage ich mich, ob dies daran liegt, dass einige Browser die Zeichenfolge analysieren, die das 'onchange' Attribut ist - mit welchem Browser haben Sie getestet? – nnnnnn