通过Javascript在按键上检测'@'(arobase)?

时间:2015-07-10 13:16:35

标签: javascript keyboard

起初看起来像一个愚蠢的问题,但我很难找到一种方法来正确地找到用户在字段中输入“ @ ”值。

问题主要是因为键盘布局,如Mac和Windows之间。

例如,在我当前的布局中,为了显示' @ ',我必须altgr + 0但我相信mac,它是键盘左上角的第一个键

所以我的问题很简单,当用户输入' @ '时,你怎么能触发这个条件,与OS /键盘布局/品牌无关?

我在谷歌上搜索了一些可行的图书馆/片段,我找到的唯一一些不是平台独立而且与我没有合作。

1 个答案:

答案 0 :(得分:1)

$('#theinput').on('keyup', function(event) {
  var isArobase = /@/.test($(event.target).val());
});

然后,如果你想测试电子邮件:

function validateEmail(email) {
  var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  return re.test(email);
}
$('#theinput').on('keyup', function(event) {
  var isArobase = validateEmail($(event.target).value());
}