我有一个代码可以让我耦合诸如仅数字退格键之类的东西。我如何更改允许按“输入”并仅允许 1 个逗号和逗号后最多 2 个数字的正则表达式?
$("[name=price]").keydown(function(e){
if(e.keyCode == 110 || e.keyCode == 190)
{
e.preventDefault();
$(this).val($(this).val() + ',');
}
if (/\d|,+|[b]+|-+/i.test(e.key) ){
}else{return false }
})
最佳答案
这是一个有点冗长的版本。这接受箭头键、制表符、输入、修饰符等。
$("[name=price]").keydown(function(e) {
if (e.keyCode == 110 || e.keyCode == 190 || e.keyCode == 188) {
if ($(this).val().indexOf(',') > -1) {
return false;
} else {
e.preventDefault();
$(this).val($(this).val() + ',');
}
}
else if (e.keyCode < 47) {
}
else if (/\d|,+|-+/i.test(e.key)) {
if ($(this).val().indexOf(',') > -1) {
if ($(this).val().substr($(this).val().indexOf(',') + 1).length >= 2) {
return false;
}
}
} else {
return false
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="price" />
<input name="price" />
<input name="price" />
关于javascript - 后面只允许有 1 个逗号和 2 个小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42645969/