Angular.js - Controller-Funktion zum Filtern ungültiger Zeichen aus der Eingabe löscht Zeichen erst, wenn ein gültiges Zeichen eingegeben wird

Ich habe eine JSFiddle für das Problem erstellt, das ich hier erlebe:http://jsfiddle.net/9qxFK/4/

Ich habe ein Eingabefeld, in das ich nur Kleinbuchstaben, Zahlen und Bindestriche eingeben möchte (dieses Feld wird in einer URL verwendet).

Ich habe die folgende angle.js-Controller-Methode, um dies zu tun:

$scope.auto_slug = function() {
    $scope.slug = $scope.slug.toLowerCase().replace(/[^a-z0-9\-\s]/g, '').replace(/\s+/g, '-');
};

Ungültige Zeichen werden nur entfernt, wenn nach einem ungültigen Zeichen ein gültiges Zeichen eingegeben wird.

Kann mir jemand sagen, warum das nicht funktioniert?

Danke, Scott

Antworten auf die Frage(1)

Ihre Antwort auf die Frage