$('#target').val($('#target').val().replace(/[^\d]/g, ""));
我使用上面的代码只在输入值中保留数字字符我还想允许'+'和' - '。
如何修改正则表达式以允许此操作?
非常感谢
答案 0 :(得分:1)
将-
和+
放入角色类。
$('#target').val($('#target').val().replace(/[^-+\d]/g, ""));
答案 1 :(得分:0)
FWIW我使用了几个用jQuery控制的输入类:
<input class="intgr">
<input class="nmbr">
$("input.intgr").keyup(function (e) { // Filter non-digits from input value.
if (/\D/g.test($(this).val())) $(this).val($(this).val().replace(/\D/g, ''));
});
$("input.nmbr").keyup(function (e) { // Filter non-numeric from input value.
var tVal=$(this).val();
if (tVal!="" && isNaN(tVal)){
tVal=(tVal.substr(0,1).replace(/[^0-9+\.\-]/, '')+tVal.substr(1).replace(/[^0-9\.]/, ''));
var raVal=tVal.split(".")
if(raVal.length>2)
tVal=raVal[0]+"."+raVal.slice(1).join("");
$(this).val(tVal);
}
});
intgr 剥离所有非数字
nmbr 接受+
,-
,.
和0-9。除了0-9和第一个.
之外,其他所有字符串都被删除了如果你可以随时随地+
和-
,那么Bamar的解决方案就是完美,短小和甜蜜。我需要+/-只在第一个字符位置,如果有的话,只需要一个.
(即在第一个句点之外剥离,所以2.5.9将是2.59)