0
我已经在asp中创建了一个数据网格。网格链接到这个有少量数字数据类型列表(22,8)的表格。我将这些字段设置为可编辑字段,因此我试图验证其精确度和缩放比例。 目前我有这种方法,它适用于VARCHAR数据类型:如何验证JavaScript中的数字数据类型长度?
var colList =
[
["customer_name", 32],
["customer_address", 32],
["price",22] // this is numeric (22,8)
];
for (var i = 0; i < colList.length; ++i) {
if (currentColumnName == colList[i][0].toString()) {
if (currentRowKey.toString().length > colList[i][1]) {
var error = (colList[i][0].toString() + " can only have a maximum of " + colList[i][1] + " characters.");
alert(error);
eventArgs.set_cancel(true);
}
}
}
我想验证数值类型精度和规模。在上面的代码中,我可以验证22的长度,但我不能验证小数点后只允许8位数字。使用正则表达式可以解决我的问题,我不擅长它。
我尝试使用以下命令:
var regex = [
["total_amount"],
["price"],
["market_value"]
];
for (var i = 0; i < regex.length; ++i) {
if (currentColumnName == regex[i].toString()) {
var re = /^(\d{0,22}\.\d{0,8})$/;
if (regex[i].match(re)) {
var error = (regex[i]+"is incorrect");
alert(error);
eventArgs.set_cancel(true);
}
}
但它仍然不验证
什么是你遇到的问题?代码是否会抛出任何错误? –
它看起来像你应该使用一个对象。 '{customer_name:32,customer_address:32,price:22}' – 4castle
我在问题中更新了它。代码工作正常,以检查长度,但我想实现数值数据类型与规模,我想能够验证精度和规模eg。 23.56565656 - 有效但23.565656567 - 应显示错误消息 – jdag