我想验证用户输入的正确小数表单,例如用户可以输入-123.4
或123.4
但不包括--123.4
或-.234
或..234
等值
这是我到目前为止所做的,但它不能正常工作
var input = control.value;
var indexM = input.match((/-/g) || []).length;
var indexD = input.match((/./g) || []).length;
if(indexM > 1 || indexD >1 )
{
control.value="";
alert('Invalid Value')
}
答案 0 :(得分:0)
如果可以接受,你可以这样做,
$(document).ready(function () {
$('[id$=txt1]').numeric({ allow: "." });
$('[id$=txt1]').numeric();
});
其中txt1是用户输入数据的文本框的客户端实例名称。
错误答案,删除不工作。不能使用相同的将允许多个"。"并且不允许负数
答案 1 :(得分:0)
您可以使用正则表达式来验证十进制数
var input = control.value;
var exp = /^\-?\d*\.?\d*$/;
if(!exp.test(input))
{
control.value="";
alert('Invalid Value')
}
答案 2 :(得分:-1)
您应该在每次点击时检查用户输入。
例如:如果输入字段id =' MyInputField"你应该使用以下代码
var decimalsRestrictions = function (field) {
$(field).bind("propertychange input", function (e) {
var resVal = twoDecimalsRestrictions(field.val());
if (field.val() != resVal) {
field.val(resVal);
}
});
};
var twoDecimalsRestrictions = function (num) {
var parts;
if (num.indexOf(".") !== -1) {
parts = num.split(".");
if (parts[1].length > 2) {
return num.substr(0, num.length - 1);
}
}
return num;
};
decimalsRestrictions("#MyInputField");