嘿伙计我有一个代码,允许我只有数字退格的东西 如何更改允许按“enter”并且只允许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 }
})
答案 0 :(得分:3)
这里有点冗长的版本。这接受箭头键,制表符,输入,修饰符等。
$("[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
}
})
&#13;
<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" />
&#13;