下面这段代码,可以控制用户只能输入数字、小数点、负号,且数字第一位不可为0:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>lik-input-number</title>
</head>
<body>
<input type="text" class="lik_input_number" style="color:#ccc" value="请输入数字" οnfοcus="fn_focus(this);"
οnblur="fn_blur(this);">
</body>
<script src="jquery-1.8.1.min.js"></script>
<script>
// 输入框模拟placeholder
function fn_focus(ele) {
if (ele.value == ele.defaultValue) {
ele.style = "color:#333";
ele.value = '';
} else {
ele.style = "color:#333";
}
}
function fn_blur(ele) {
var reg = /^[s]*$/;
if (reg.test(ele.value) || ele.value == ele.defaultValue) {
ele.style = "color:#ccc";
ele.value = ele.defaultValue;
} else {
ele.style = "color:#333";
}
}
$(function () {
$('.lik_input_number').live('keydown', function (e) {
//控制第一个数字不能为0
if ($(this).val().length > 1 && $(this).val().slice(0, 1) == 0 && $(this).val().slice(1, 2) != '.') {
$(this).val($(this).val().slice(1, $(this).val().length));
}
//控制只能输入数字、小数点、负号
if ((e.keyCode < 48 || (e.keyCode > 57 && e.keyCode < 96) || (e.keyCode > 105 && e.keyCode < 109) || (e.keyCode > 110 && e.keyCode < 189) || e.keyCode > 190) && e.keyCode != 8) {
return false;
}
});
$('.lik_input_number').live('keyup', function (e) {
//控制第一个数字不能为0
if ($(this).val().length > 1 && $(this).val().slice(0, 1) == 0 && $(this).val().slice(1, 2) != '.') {
$(this).val($(this).val().slice(1, $(this).val().length));
}
//控制只能输入数字、小数点、负号
if ((e.keyCode < 48 || (e.keyCode > 57 && e.keyCode < 96) || (e.keyCode > 105 && e.keyCode < 109) || (e.keyCode > 110 && e.keyCode < 189) || e.keyCode > 190) && e.keyCode != 8) {
return false;
}
});
});
</script>
</html>