我在论坛上搜索,但没有找到正确的答案。我正在尝试的是
- 接受十进制数字的文本框,因此用户应该能够输入 0 或 1 个小数点,即。点(。)
- 点前最多 5 位,点后最多 5 位
- 不允许使用其他字符,但箭头键和 f1 f2 等其他键应该可以使用
例如。它应该对以下有效 12345 12345.1 12345.12345 1.12345 .12345
在制作这个文本框时需要帮助。
我在论坛上搜索,但没有找到正确的答案。我正在尝试的是
例如。它应该对以下有效 12345 12345.1 12345.12345 1.12345 .12345
在制作这个文本框时需要帮助。
试试这个:
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 行)来更改它。
编辑:
哦,如果你想限制对某些键的输入,你应该重新考虑。这不是一个很好的用户体验。人们习惯于输入任何东西。最好只是警告他们。这样做更便宜,而且足够有效: