Ik'm probeer deze code te gebruiken om spaties te vervangen door _, het werkt voor de eerste spatie in de string maar alle andere instanties van spaties blijven ongewijzigd. Weet iemand waarom?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
Probeer .replace(/ /g,"_");
Edit: of .split(' ').join('_')
als je een afkeer hebt van RE's
Edit: John Resig zei:
Als je're zoekt en vervangt door een string met een statische zoek en een static replace is het's sneller om de actie uit te voeren met .split("match").join("replace") - wat tegen-intuïtief lijkt maar het slaagt erin om op die manier te werken in de meeste moderne browsers. (Er zijn veranderingen aan de gang om de prestaties van .replace(/match/g, "replace") in de volgende versie van Firefox - dus de vorige verklaring zal niet lang meer het geval zijn).
Om Prasanna's vraag hieronder te beantwoorden:
Hoe vervang je meerdere spaties door enkele spatie in Javascript ?
Je zou dezelfde functie replace
gebruiken met een andere reguliere expressie. De uitdrukking voor spaties is spaties
en de uitdrukking voor "1 of meer keer" is +
het plusteken, dus je'zou gewoon Adam's antwoord vervangen door het volgende:
key=key.replace(/\s+/g,"_");