为什么我的文本框还能输入小数点后2为呢?我本来是要小数点后1位的。请大侠们帮忙。
<html>
<body>
<script>
function checkNumber(e,txt){
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
var el = document.getElementById('test');
var msg = document.getElementById('msg');
var reg = /^(\d)*(\.(\d){0,1})?$/; var result = reg.test(keychar);
if(result){
if(e.keyCode==46)
result=!(txt.value.split('.').length>1);
else
result=!(txt.value.split('.').length>1&&txt.value.split('.')[1].length>1);
}
if(!result){
el.className = "warn";
msg.innerHTML = "只能输入数字";
return false;
}
else{
el.className = "";
msg.innerHTML = "";
return true;
}
}
</script>
<div id="test">
只能输入数字的文本框<input type="text" name="question.page" onkeypress="return checkNumber(event,this);">
<span id="msg"></span>
</div>
</body></html>
<html>
<body>
<script>
function checkNumber(e,txt){
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
var el = document.getElementById('test');
var msg = document.getElementById('msg');
var reg = /^(\d)*(\.(\d){0,1})?$/; var result = reg.test(keychar);
if(result){
if(e.keyCode==46)
result=!(txt.value.split('.').length>1);
else
result=!(txt.value.split('.').length>1&&txt.value.split('.')[1].length>1);
}
if(!result){
el.className = "warn";
msg.innerHTML = "只能输入数字";
return false;
}
else{
el.className = "";
msg.innerHTML = "";
return true;
}
}
</script>
<div id="test">
只能输入数字的文本框<input type="text" name="question.page" onkeypress="return checkNumber(event,this);">
<span id="msg"></span>
</div>
</body></html>
<body>
<script>
function checkNumber(e,txt){
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
var el = document.getElementById('test');
var msg = document.getElementById('msg');
var reg = /^\d*\.?$/; var result = reg.test(txt.value);
if(result && (!isNaN(keychar) || keychar == ".")){
return;
}
el.className = "warn";
msg.innerHTML = "只能输入数字";
return false;
}
</script>
<div id="test">
只能输入数字的文本框:
<input type="text" name="question.page" onkeypress="return checkNumber(event,this);">
<span id="msg"> </span>
</div>
</body>
</html>
<html>
<body>
<script>
function checkNumber(e,txt){
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
var el = document.getElementById('test');
var msg = document.getElementById('msg');
var reg = /^\d*(\d\.)?$/; var result = reg.test(txt.value);
if(result && !isNaN(keychar)){
return;
}
if(keychar == "." && txt.value!="" && !/\.$/.test(txt.value)){
return;
}
el.className = "warn";
msg.innerHTML = "只能输入数字";
return false;
}
</script>
<div id="test">
只能输入数字的文本框:
<input type="text" name="question.page" onkeypress="return checkNumber(event,this);">
<span id="msg"> </span>
</div>
</body>
</html>
<html>
<body>
<script>
function checkNumber(txt){
var val = txt.value;
setTimeout(getfunc(txt),10);
}
function getfunc(obj){
val = obj.value;
txt = obj;
function checkVal(){
reg = /^(\d+(\.\d?)?)?$/;
if(!reg.test(txt.value)){
obj.value = val;
document.getElementById('test').className = "warn";
document.getElementById('msg').innerHTML = "只能输入数字"
}
}
return checkVal;
}</script>
<div id="test">
只能输入数字的文本框:
<input type="text" name="question.page" onkeydown="return checkNumber(this);">
<span id="msg"> </span>
</div>
</body>
</html>