仅允许输入字段中的单个点

时间:2012-07-23 01:59:49

标签: javascript jquery validation

我有一个输入字段,其中包含:

$(".double").alphanumeric({allow:" ",ichars:"`~!@#$%^&*=_+[]\\{}|;\":,/<>?'-()\/abcdefghijklmnopqrstuvwxyzABCDFEGHIJKLMNOPQRSTUVWXYZ"});

验证适用于它。

我需要进一步限制输入,以便只能添加一个小数位,例如100.00或255.95

输入用于货币,所以我只需要允许1个小数点。目前它允许100.00.00,这会搞乱系统!

由于

2 个答案:

答案 0 :(得分:1)

这是一个只允许正/负十进制数的正则表达式

^[-]?((\d+)|(\d+\.\d+)|(\.\d+))$

使用jquery,您可以测试值

if (/^[-]?((\d+)|(\d+\.\d+)|(\.\d+))$/.test($(".double").val())) { .... }

答案 1 :(得分:1)

一个简单的函数,允许可选的前导+或 - 和只有带可选小数位的数字是:

function validate(value) {
  var re = /^[-+]?\d+(\.\d+)?$/;
  return re.test(value);
}

但是,既然你想要钱,你可能想要:

  var re = /^[-+]?\d+(\.\d\d)?$/;

如果有小数位,则需要两位数。