使用javascript或jquery只允许输入2个小数点的文本框
Allow only 2 decimal points entry to a textbox using javascript or jquery?
我为我的文本框调用了一个名为test的类。当我输入第一个值时,例如第一个值是4.
,然后突然输出是4.00
。我只是想限制输入只能有两个小数点
$(".test").keyup(function (event) {
debugger;
this.value = parseFloat(this.value).toFixed(2);
});
对你的代码做一点小小的改变就足够了:
this.value = this.value.replace (/('.'d'd)'d+|(['d.]*)[^'d.]/, '$1$2');
本质上是用小数点和前两位数字替换后跟任意数字的小数点。
这样怎么样:
$(".test").keyup(function (event) {
if ((pointPos = this.value.indexOf('.')) >= 0)
$(this).attr("maxLength", pointPos+3);
else
$(this).removeAttr("maxLength");
});
你可以使用maxLength属性,试试
$(".test").keyup(function (event) {
var last = $(this).val()[$(this).val().length - 1];
if (last == '.') {
$(".test").attr("maxlength", $(this).val().length+2);
}
});
在用户提交表单之前,您不应该担心用户输入中的内容。你真的不在乎在那之前里面有什么。然而,如果你想警告无效的输入,你可以在屏幕上显示一条消息,如果你检测到不符合的输入,例如
<script>
function validate(element) {
var re = /^'s*'d*'.?'d{0,2}'s*$/;
var errMsg = "Number must have a maximum of 2 decimal places";
var errNode = document.getElementById(element.name + '-error')
if (errNode) {
errNode.innerHTML = re.test(element.value)? '' : errMsg;
}
}
</script>
您可能还应该在更改处理程序上放置一个侦听器,以说明通过其他方式到达那里的值
$(document).on("keyup", ".ctc", function ()
{
if (!this.value.match(/^'s*'d*'.?'d{0,2}'s*$/) && this.value != "") {
this.value = "";
this.focus();
alert("Please Enter only alphabets in text");
}
});
相关文章:
- jQuery自定义验证比较多个输入的序列
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 如何选择多个输入字段并删除所需的属性
- 比较jquery中的两个输入
- 选择单选按钮更新2个输入字段
- 使用javascript将两个输入的日期添加在一起
- 如何将(a*b)两个输入文本值相乘,并在javascript中随文本变化动态显示
- 如何获取具有相同id的多个输入值
- jQuery DatePicker:多个输入出现错误
- 从父元素AngularJS中获取多个输入字段的值
- 在JS的下拉列表中选择多个输入参数
- jquery表单提交无法使用多个输入(IE和Firefox)
- NodeJS readline有时会打印回第一个输入行(但并不总是,看起来是随机的)
- 通过程序从多个输入字段上传多个文件-blueimp jquery fileupload
- 比较两个输入字段
- 为具有相同类的多个输入添加、移除和添加一个类
- 如何使用 JavaScript 从单元格中选择第二个输入框
- 在 JavaScript 中计算两个输入字段值
- 在 ng 模型中具有单向绑定的两个输入