我有一个名为count的文本框。我想使用JavaScript或jQuery正则表达式在文本框中仅输入正数和负数。不要允许"文字"和"小数"和#34;特殊字符"在文本框中。即使是复制和粘贴,也只能采用正数或负数。
重要提示:
如果我复制并粘贴文本或小数或特殊字符也不应该。它应该只采取正数或负数。
我想输入并粘贴没有小数的负值。
箭头键应该有效。
Shift , Ctrl , Home , End , Enter 像这样的按钮也应该有效。
请检查以下小提琴,请修改此内容。
$(".allownumericwithoutdecimal").on("keypress keyup blur",function (event) {
$(this).val($(this).val().replace(/[^\d].+/, ""));
if ((event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
&#13;
<span>Int</span>
<input type="text" name="numeric" class='allownumericwithoutdecimal'>
<div>Numeric values only allowed (Without Decimal Point) </div>
&#13;
我是正则表达式的新手。请帮我做这件事。
答案 0 :(得分:1)
你正在寻找的正则表达式是:
正则表达式: ^-?[0-9]+$
<强>解释强>
它会检查可选的-
符号。并且只允许数字。
我使用了[0-9]
而不是\d
,因为后来的意思是不同语言的数字。
PS:我不是Javascript程序员,所以如果有人想添加小提琴或使用此正则表达式,请继续。
答案 1 :(得分:1)
使用Javascript按键和charCode无需正则表达式也可以实现。
<input type="number" (keypress)="keypress($event, $event.target.value)" >
keypress(evt, value){
if (evt.charCode >= 48 && evt.charCode <= 57 || (value=="" && evt.charCode == 45))
{
return true;
}
return false;
}
给定的代码不允许用户在运行时输入字母或小数,只能输入正整数和负整数。