Nicht wirklich gut im regulären Ausdruck, aber warum, wenn eine Übereinstimmung gefunden wird console.log
feuert zweimal?Javascript .match plus jQuery keyup(), doppelte Übereinstimmung und seltsames Verhalten
$('#name').keyup(function() {
var regex = /[\€]/g;
var count = (m = $(this).val().match(regex)) ? m.length : 0; // Num matches
console.log(count);
});
Ausgabe mit 'Hallo':
0
0
0
0
0
Nach der Zugabe von '€' Symbol 'hallo' haben wir:
0
0
0
0
0
1
1
Nach dem Hinzufügen 'h' Symbol ‚Hallo € 'wir haben:
0
0
0
0
0
1
1
1
Sollte nicht nur eine sein 1
nach dem Hinzufügen von '€' zu 'Hallo'?
möchten Sie vielleicht das Keypress-Ereignis anstelle des Keyup-Ereignisses behandeln, sollte dies das Ereignis für Ctrl, Alt usw. entfernt. – jbabey
@jbabey danke. – gremo