获取按键或输入值

时间:2019-05-20 15:40:54

标签: javascript jquery html

我有一个文本框,我想获取所按下键的值。我使用jQuery允许用户仅插入数字和字母,即使使用复制/粘贴也是如此。 我想获取用户按下的字母或数字。

$("#Nombre").on("keydown", function(event) {
  var regexp = /[^A-Za-z0-9]+/g;
  if ($(this).val().match(regexp)) {
    $(this).val($(this).val().replace(regexp, ''));
  } else {
    var Valor = $(this).val(); //get the value of keypressed here
  }
});

$("#Nombre").on("input", function() {
  var regexp = /[^A-Za-z0-9]+/g;
  if ($(this).val().match(regexp)) {
    $(this).val($(this).val().replace(regexp, ''));
  } else {
    var Valor = $(this).val(); //get the value of keypressed here
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="text" class="form-control" id="Nombre" Maxlength=43 name="txtNombre" required>

1 个答案:

答案 0 :(得分:0)

按键上,您可以使用String​.from​Char​Code()event.keyCode获取字符。在 input 事件上,您可以从值中获取最后一个字符:

$("#Nombre").on("keydown", function(event) {
  var regexp = /[^A-Za-z0-9]+/g;
  if ($(this).val().match(regexp)) {
    $(this).val($(this).val().replace(regexp, ''));
  }
  else{
    var Valor = String.fromCharCode(event.keyCode)
    console.log(Valor);
  }
});

$("#Nombre").on("input", function() {
  var regexp = /[^A-Za-z0-9]+/g;
  if ($(this).val().match(regexp)) {
    $(this).val($(this).val().replace(regexp, ''));
  }
  else{
    var val = $(this).val();
    var Valor = val[val.length -1];    
    console.log(Valor);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="text" class="form-control" id="Nombre" Maxlength=43 name="txtNombre" required>