JS限制文本框只能输入整形或浮点数
来源:互联网 发布:php动态网页制作 编辑:程序博客网 时间:2024/04/28 16:45
JS限制文本框只能输入整形或浮点数
这个问题应该是老生常谈了,但是始终不好解决,有以下需要进行限制:
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,}/);
}
}
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>
<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>
遗憾的是在FireFox中是没有这个事件的,所以如果是做系统限制客户只能用IE浏览器,这个方法完全实用:)
而这个事件在IE4.0中就得到了支持,可能FireFox在标准化方面做得是比较出色的,但是对于我来说,只有实用的才是好的。例如,innerHTML、innerText方法相当实用,同样它也不是标准方法。
当然我只是抛砖引玉,希望如果哪位高人知道FireFox中如何实现,万望告知,谢谢:)
- JS限制文本框只能输入整形或浮点数
- JavaScript限制文本框只能输入整形或浮点数类型
- 文本框只能输入数值或浮点数
- JS控制文本框只能输入整数或带一位小数的浮点数
- 使用Javascript控制文本框只能输入整数或浮点数
- 限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
- 如何实现文本框只能输入浮点数
- 正则限制文本框只能输入数字||只能是数字和一个小数点||只能是整数和浮点数
- 完美js限制文本框只能输入数字
- JS 限制文本框只能输入数字
- JS 限制文本框只能输入数字
- JS 限制文本框只能输入数字
- JS 限制文本框只能输入数字
- js限制文本框input只能输入数字
- js判断只能输入正整数或两位以内的浮点数
- Swing —— 限制JTextArea只能输入浮点数
- 限制文本框只能输入数字
- 限制文本框只能输入价格
- 数据的传递:IP选路
- Internet信使--模仿QQ常用功能(基于WSAAsyncSelect模型)
- 深入分析Linux内核链表(1)
- 基于opengl的RoundBox绘制
- 设计模式之 proxy
- JS限制文本框只能输入整形或浮点数
- php服务器配制
- 算法与追mm
- 强大的三维开发平台
- west263soft卸载不掉
- 在xp和Win7上使用Tomcat 6.0经常遇到的几个问题及其解决方法
- 【转贴】赛迪访谈:网站安全之网站的安全体检
- 一次读取文件中所有内容
- 如何用dos命令行调出任务管理器?