Javascript .match加jQuery keyup(),双匹配和奇怪的行为

时间:2012-03-28 17:19:55

标签: javascript jquery regex

正则表达式不是很好,但为什么找到匹配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吗?

1 个答案:

答案 0 :(得分:3)

Keyup也拦截控制键。我猜你的键盘上没有专用的欧元键,所以你点击alt-E就可以输入了。 Alt键导致处理程序触发两次。