我有一个javascript函数替换找到的所有“ - ”。但它只会取代键盘Num输入的“ - ”。我认为将其他视图作为字母数字字符引入。我知道这是因为通过这个link,字符代码是不同的。我的代码:http://jsfiddle.net/cqrjjzn8/2/
$(document).ready(function () {
$('input').keyup(function(e) {
var code = e.keyCode || e.which;
if(code == 109 || code == 189) { //Enter keycode
//Do something
var valor = $(this).val();
$(this).val(valor.replace(/[-]/g, ''))
//$(this).val(valor.replace(/[-]/w, '')) // MY "-" alpha numeric
}
});
我的问题是我无法找到正确的正则表达式。
注意:所有键盘都不会出现此问题,因此所有电脑都不会出现此问题
答案 0 :(得分:3)
试试这段代码:
$('input').keypress(function(e) {
var code = e.keyCode || e.which;
console.log(code)
if(code == 45) { //Enter keycode
return false
}
});
您可以在此测试:jsFiddle
请检查所有密钥代码here,因为我们为不同的事件类型提供了不同的密钥代码。
希望它适合你。
答案 1 :(得分:1)
您并不真正需要代码的.change()
部分。以下(仅keyup()
部分)对我来说很好:
$('input').keyup(function(e) {
var valor = $(this).val();
$(this).val(valor.replace(/[-]/g, ''))
});
见这里:http://jsfiddle.net/t9myunhv/
或者对于我们这些在打字代码方面更懒惰的人来说:
$('input').keyup(function(e) {
with ($(this)) val(val().replace(/-/g, ''));
});
答案 2 :(得分:1)
尝试这样的事情:
var valor = $(this).val();
valor = valor.replace(/-/g, '');
希望这适合你。
答案 3 :(得分:1)
$('input').on('keyup', function(e) {
var code = e.keyCode || e.which;
if(code == 173) {
//Enter keycode
//Do something
var valor = $(this).val();
$(this).val(valor.replace(/[-]/g, ''))
}
});