Ich versuche derzeit Benutzer einzuschränken, so dass sie nur Buchstaben oder Zahlen in ein Textfeld eingeben können und wenn etwas anderes als Buchstaben oder Zahlen eingegeben wird, möchte ich den Wert entfernen.Benutzereingaben einschränken
Also mein Regex sieht aus wie ^[a-zA-Z0-9]+$
und die ganzen jQuery-Funktionen sehen wie folgt aus:
$("#myInputField").keyup(function (e) {
if (/^[a-zA-Z0-9]+$/.test(this.value)) {
this.value = this.value.replace(/^[a-zA-Z0-9]+$/, '');
}
});
aber dies scheint das Gegenteil zu tun. Wenn ich also eine Zahl oder einen Buchstaben eintippe, wird sie ersetzt und alle anderen Zeichen werden zugelassen. Kann mir bitte jemand sagen, wo ich falsch liege?
Verwenden Sie eine negierte Zeichenklasse '.replace (/ [^ a-zA-Z0-9] +/g, '')' –
Ja, das Gegenteil ist der Fall, wenn Sie alphanumerisch suchen und dann alphanumerisch entfernen. Ich habe das nicht versucht (also nur einen Kommentar), aber möglicherweise: '.replace (/ [^ a-zA-Z0-9]/g /, '');' –
Und der Test wäre 'if (/ [^ a-zA-Z0-9]/.test (this.value)) 'oder' if (! (/^[a-zA-Z0-9] + $ /). test (this.value))) ' –