<script> function isNumeric() { var obj = event.srcElement var s = event.keyCode var NgIsIn = obj.value.indexOf("-")>-1 var DotIsIn = obj.value.indexOf(".")>-1 var idx = getCursorPos(obj) var flag = true if ((s>=35 && s<=39) || s == 109 || s==110 || s == 189 || s == 8 || s == 9 || s == 46 || (s>=96 && s <=105) || (s>=48 && s <=57)) { if (s == 110) { if (DotIsIn) { flag = false } else { if (NgIsIn) { if (idx==0) flag = false } } }
if (s == 109 || s == 189) { if (NgIsIn) { flag = false } else { if (idx!=0) flag = false } } else { if (NgIsIn && idx==0 && !((s>=35 && s<=39) || s == 8 || s == 9 || s == 46)) flag = false } } else { flag = false } return flag }function getCursorPos(obj) { var len = obj.value.length; var pos = 0; var rng = document.selection.createRange(); rng.moveEnd("character",len); try{ pos = len-rng.text.length }catch(e){} return pos; } </script> 使输入只能为数 <input onkeydown="return isNumeric()" id=num> <button onclick='alert(num.value*1)'>click</button>
function isNumeric()
{
var obj = event.srcElement
var s = event.keyCode
var NgIsIn = obj.value.indexOf("-")>-1
var DotIsIn = obj.value.indexOf(".")>-1
var idx = getCursorPos(obj)
var flag = true
if ((s>=35 && s<=39) || s == 109 || s==110 || s == 189 || s == 8 || s == 9 || s == 46 || (s>=96 && s <=105) || (s>=48 && s <=57))
{
if (s == 110)
{
if (DotIsIn)
{
flag = false
}
else
{
if (NgIsIn)
{
if (idx==0)
flag = false
}
}
}
if (s == 109 || s == 189)
{
if (NgIsIn)
{
flag = false
}
else
{
if (idx!=0)
flag = false
}
}
else
{
if (NgIsIn && idx==0 && !((s>=35 && s<=39) || s == 8 || s == 9 || s == 46))
flag = false
}
}
else
{
flag = false
}
return flag
}function getCursorPos(obj)
{
var len = obj.value.length;
var pos = 0;
var rng = document.selection.createRange();
rng.moveEnd("character",len);
try{
pos = len-rng.text.length
}catch(e){}
return pos;
}
</script>
使输入只能为数
<input onkeydown="return isNumeric()" id=num>
<button onclick='alert(num.value*1)'>click</button>