正则表达式不是很好,但为什么找到匹配console.log
两次?
$('#name').keyup(function() {
var regex = /[\€]/g;
var count = (m = $(this).val().match(regex)) ? m.length : 0; // Num matches
console.log(count);
});
以'hello'输出:
0
0
0
0
0
在'hello'中添加'''符号后,我们有:
0
0
0
0
0
1
1
将'h'符号添加到'hello€'后,我们有:
0
0
0
0
0
1
1
1
在'hello'中添加'€'后,不应该只有一个1
吗?
答案 0 :(得分:3)
Keyup也拦截控制键。我猜你的键盘上没有专用的欧元键,所以你点击alt-E
就可以输入了。 Alt键导致处理程序触发两次。