使用Jquery或Javascript在文本框中进行十进制字段验证

时间:2012-12-29 12:51:22

标签: javascript jquery jquery-ui

我在论坛上搜索但未找到正确的答案。 我正在尝试的是

  1. 接受十进制数字的文本框,因此用户应该可以 输入0或1小数点即。点(。)
  2. 在点之前的最多5位数和点
  3. 之后的最多5位数
  4. 不允许使用其他字符,但箭头键和其他键如f1 f2应该可以使用
  5. 例如。它应该对以下内容有效 12345 12345.1 12345.12345 1.12345 0.12345

    需要帮助制作此文本框。

1 个答案:

答案 0 :(得分:0)

试试这个:

function isFloat(s) {
    return s ? /\d{1,5}(?:\.\d{1,5})?/.test(s) : true;
}


$('input.float').on('change', function() {
  if (!isFloat($(this).val())) {
    alert('not a float');
  }
});

这是小提琴:http://jsfiddle.net/foxbunny/Vabj4/

代码无法使字段成为必需字段。如果它是空的,它就会通过。如果您可以通过将三元条件中的true更改为false(第2行)来更改它。

编辑:

哦,如果你想限制对某些键的输入,你应该重新考虑。这不是一个非常好的用户体验。人们习惯于打字。最好只是警告他们。它的成本更低,而且效果更好:

http://jsfiddle.net/foxbunny/Vabj4/1/