日期:2014-05-16  浏览次数:20444 次

问个很白的问题,js里面如何判断一个数是整数
不可以用window.event.keycode属性   ,写一个方法要怎么判断呢

------解决方案--------------------
<script>
var re = new RegExp(/^[-\+]?\d+$/);
var str= "-654645 ";
var isZhengShu= re.exec(str);
if(isZhengShu)alert(str+ "是整数! ");
else alert(str+ "不是整数! ");
</script>
------解决方案--------------------
这个问题一点也不白...
1.00 基本上无法判断...

<script type= "text/javascript ">
// <![CDATA[
var n = 1.1;

var t = n -parseInt(n);

if(t> 0||t <0)
{
alert( "float ")
}
//]]>
</script>
------解决方案--------------------
哈哈。onkeydown的话,只让它输入数值就可以了。。只有第一次输入的时候才可以输入-
即可。
blur的时候在判断下。

如果想更好的方法实现。


当focus的时候
建立setInterval监视它的值
当blur的时候
移除setInterval

------解决方案--------------------
function onlyNumber(id)
{
var txt = document.getElementById(id);

txt.onkeyup = function () {this.value=this.value.replace(/[^\d]/g, ' ');}
txt.onbeforepaste = function () {clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\d]/g, ' '));}

}

将文本框的ID传给此函数,即可实现只能输入数字功能
------解决方案--------------------
用正则表达式

/^\d+$/