我想知道是否可以使用 jQuery 执行以下任务:防止用户输入大于 10 或小于 0 的数字。
例如,像 9.10 这样的数字是可以的,但 81、10.01、11 或负数是错误的值。
为了更好地了解情况,验证是为了在测试后输入成绩。
谢谢你。
此代码仅允许您在框中输入数字,并且不会接受任何会使数字小于 0 和大于 10 的输入。
var $grade = $('#grade');
$grade.keydown( function (e) {
var code = e.which,
chr = String.fromCharCode(code), // key pressed converted to s string
cur = $grade.val(),
newVal = parseFloat(cur + chr); // what the input box will contain after this key press
// Only allow numbers, periods, backspace, tabs and the enter key
if (code !== 190 && code !== 8 && code !== 9 && code !== 13 && !/[0-9]/.test(chr)) {
return false;
}
// If this keypress would make the number
// out of bounds, ignore it
if (newVal < 0 || newVal > 10) {
return false;
}
});
I suggest this library: jquery-numeric
The homepage of the plug-in is here: http://code.webmonkey.uk.com/plugins/
There is a demo and use can viewsource to see the use of it:
http://code.webmonkey.uk.com/plugins/jquery.numeric/test.html