首页 | 新闻 | 网站建设 | 成功案例 | 服务项目 | 商业购买 | 编程技术 | 壁纸 | 休闲娱乐 | 下载专区 | 留言 | 论坛
 
您现在的位置:网站首页 > 编程技术 > JavaScript
JavaScript限制文本框只能输入整形或浮点数类型
发布时间:2008-02-21  发布:奇景  关键字:  阅读次数:252  【字号
 这个问题应该是老生常谈了,但是始终不好解决,有以下需要进行限制:
        1、敲击键盘只能输入输入数字;
        2、复制的时候也需要删除非数字字符;
        3、使用输入法也应该只认数字;
        4、在页面中选择一段文字,直接拖拽,也应该能进行筛选;

        所以我们需要一个在任何时候只要文本框内容发生变化就触发的事件,来完成上述工作,而不是单纯的onchange事件。

        让我们庆幸的是IE中提供一个onpropertychange事件,他可以捕捉到文本框任何文本变化。接下来就简单了,通过这个事件我们就可以定义以下两个方法来处理整形和浮点数的输入限制。
// Int
function CheckInputInt(oInput)
{
    
if  ('' != oInput.value.replace(/\d/g,''))
    {
        oInput.value 
= oInput.value.replace(/\D/g,'');
    }
}

//Float
function CheckInputFloat(oInput)
{
    
if('' != oInput.value.replace(/\d{1,}\.{0,1}\d{0,}/,''))
    {
        oInput.value 
= oInput.value.match(/\d{1,}\.{0,1}\d{0,}/== null ? '' :oInput.value.match(/\d{1,}\.{0,1}\d{0,}/);
    }
}


HTML Code:

<table>
    
<tbody>
        
<tr>
            
<td>
                该文本框只允许输入整型:
<input type="text" id="input1" name="input1" onpropertychange="javascript:CheckInputInt(this);" />
            
</td>
        
</tr>
        
<tr>
            
<td>
                该文本框允许输入浮点数:
<input type="text" id="input2" name="input2" onpropertychange="javascript:CheckInputFloat(this);" />
            
</td>
        
</tr>
    
</tbody>
</table>


【收藏此页】【复制网址】【打印】【关闭】返回上一级
 ≡相关主题≡
 
分类导航
本类最新
本周热门

  版权声明 | 关于本站 | 常见问题 | 联系我们 | 网站管理 | 页面顶端
CopyRight ? QScms.cn All Rights Reserved 福州帝威荣信息技术有限公司研发 业务联系:0591-87522535
互联网许可证:闽ICP备08002627号 QQ:812188106 邮箱:qscms@yahoo.cn
Power By QsCMS V3.0  执行时间 : 0.000 秒 页面装载: