输入框限制

linjirongkk 2009-07-31 04:15:00
那个朋友能不能帮忙我写一段代码,,是限制输入框只可以输入整数和小数,,而且整数位数不能大于5位,小数不能大于2位..在网上找的都只是限制输入整数和小数,没有位数限制的,,谢谢高手来帮忙一下
...全文
56 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsxnb 2009-08-01
收藏了
回复
Dogfish 2009-08-01
<script language="javascript">
var oldvalue="";
function test(str)
{
if(isNaN(str))
return false;
var t = str.split(".");
if(t[0].length>5)
return false;
if(t.length>1 && t[1].length>2)
return false;
return true;
}
function saveold(str)
{
oldvalue=str;
}
</script>
<input name="ff" onkeypress="saveold(this.value)" onkeyup="if(!test(this.value)) this.value=oldvalue;">
回复
凡夫与俗子 2009-07-31
楼上的代码没有对只能输入整数或小数进行处理,这个要用正则表达式
你既然找到了 限制位数的代码如下:

function limitDecimal(obj,length,event)
{
var e = window.event || event;
if(obj.value.indexOf(".") == -1 || obj.value.indexOf(".") > length) return false;
if(e.keyCode == 37)return false;//解决光标向左移动的问题
var index = obj.value.indexOf(".");
if(obj.value.length-index-1 < length)return false;
obj.value = obj.value.substring(0,index) + obj.value.substr(index,length+1);
return false;
}

<input name="decimal" type="text" maxlength="5" value="" onkeyup="limitDecimal(this,2,event)"/>
回复
vinsonyin 2009-07-31
function checkpass()
{
var Inform="reg";
var Inputname="password";
var Form=Inform+"."
eval("Temp="+Form+Inputname+".value;");
//alert(Temp);
if(Temp==""){
msg="此项不能为空";
}
else
{
if(Temp.length<6||Temp.length>20)
{
msg="必须是6~20个字符";
}
else
{
msg="<img src='img/ture.jpg'>";
}
}
var ch=document.getElementById("password2");
ch.innerHTML="<font color='#F0800F'>"+msg+"</font>";
}
</script>
回复
zpzk123 2009-07-31
js正则一下用keypress事件触发。

正则:"/\d{1,5}|\d{1,5}\.\d{1,2}/"

你自己测试一下正则表达式对不对,大体就是这样,
回复
phyllis2001 2009-07-31
你在那些"只是限制输入整数和小数"的基础上判断一下length不就可以了~
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告