我有一个文本框,我想获取所按下键的值。我使用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>
答案 0 :(得分:0)
在按键上,您可以使用String.fromCharCode()
从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>