<input type="text" value=""  onkeyup="onlyNumber(this)" onblur="onlyNumber(this)"/>     
<script type="text/javascript"> 
 
function onlyNumber(obj) { 
    //得到第一个字符是否为负号 
    var t = obj.value.charAt(0); 
    //先把非数字的都替换掉,除了数字和.  
    obj.value = obj.value.replace(/[^\d\.]/g, ''); 
    //必须保证第一个为数字而不是.  
    obj.value = obj.value.replace(/^\./g, ''); 
    //保证只有出现一个.而没有多个.  
    obj.value = obj.value.replace(/\.{2,}/g, '.'); 
    //保证.只出现一次,而不能出现两次以上  
    obj.value = obj.value.replace('.', '$#$').replace(/\./g, '').replace( 
            '$#$', '.'); 
    //如果第一位是负号,则允许添加 
    if (t == '-') { 
        obj.value = '-' + obj.value; 
    } 
} 
 
</script>

演示地址: 点击

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Iterator迭代器详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。