ITPUB??ì3
ITPUB论坛 » Java入门与认证版 » javascript问题


标题: javascript问题
离线 ya_new
一般会员



精华贴数 0
个人空间 0
技术积分 414 (4646)
社区积分 0 (947730)
注册日期 2006-5-22
论坛徽章:0
      
      

发表于 2008-4-28 14:23 
javascript问题

请问一下js中怎么来判断输入小数点并且只让他输入一个小数点
function isNumber(String,name) {
        var Letters = "1234567890.";  //可以自己增加可输入值
        var i;
        var c;
        for (i = 0; i < String.length; i++) {
                c = String.charAt(i);
                if (Letters.indexOf(c) < 0) {
                        alert(name + "只能为数字");
                        return true;
                }
        }
}
这是我写的但是没有判断小数点的个数.  需要怎么判断


只看该作者    顶部
离线 ya_new
一般会员



精华贴数 0
个人空间 0
技术积分 414 (4646)
社区积分 0 (947730)
注册日期 2006-5-22
论坛徽章:0
      
      

发表于 2008-4-28 15:01 
没人会吗???还是我没有说清楚


只看该作者    顶部
离线 ya_new
一般会员



精华贴数 0
个人空间 0
技术积分 414 (4646)
社区积分 0 (947730)
注册日期 2006-5-22
论坛徽章:0
      
      

发表于 2008-4-28 16:14 
高手在哪里,没有人会吗?


只看该作者    顶部
离线 justforregister
SAP


精华贴数 1
个人空间 10
技术积分 38474 (19)
社区积分 9938 (152)
注册日期 2005-6-10
论坛徽章:244
现任管理团队成员ITPUB元老奥运纪念徽章NBA2008季后赛纪念徽章欧洲冠军杯纪念徽章NBA常规赛纪念章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:摔跤

发表于 2008-4-28 16:38 
数字都判断了, 在加个判断小数点的就不会吗?
高级点可以用正则表达式


__________________
Go to Hell
大家一起BS以下菠菜作弊者

| EPS2008          |        35201 | 2008-08-17 22:18:17     |
| missingsky       |        22300 | 2008-08-17 22:19:17     |
| wws8875          |        10000 | 2008-08-17 22:25:54     |
| renxiang         |        23332 | 2008-08-17 22:28:15     |
只看该作者    顶部
离线 ya_new
一般会员



精华贴数 0
个人空间 0
技术积分 414 (4646)
社区积分 0 (947730)
注册日期 2006-5-22
论坛徽章:0
      
      

发表于 2008-4-28 16:47 
小数点个数判断不太会写


只看该作者    顶部
离线 iooyoo
迷眼流金


精华贴数 0
个人空间 20
技术积分 4154 (327)
社区积分 3476 (380)
注册日期 2006-6-15
论坛徽章:20
现任管理团队成员2008年新春纪念徽章    
      

发表于 2008-4-28 16:47 
int idx;
int count = 0;
while((idx = string.indexof(".") != -1) {
  if(++count > 1) {
    //报错,多了.号
    break;
  }   
}

ps: 如果你要判断是不是数字, isNaN就行了,没必要这么麻烦


__________________

使君欲醉离亭酒
酒醒离愁转有
紫禁多时虚右
苕霄留难久
一声歌掩双罗袖
日落乱山春后
犹有东城烟柳
青荫长依旧
只看该作者    顶部
离线 justforregister
SAP


精华贴数 1
个人空间 10
技术积分 38474 (19)
社区积分 9938 (152)
注册日期 2005-6-10
论坛徽章:244
现任管理团队成员ITPUB元老奥运纪念徽章NBA2008季后赛纪念徽章欧洲冠军杯纪念徽章NBA常规赛纪念章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:摔跤

发表于 2008-4-28 17:05 


QUOTE:
原帖由 ya_new 于 2008-4-28 16:47 发表
小数点个数判断不太会写

你是不会抄还是不会写啊


__________________
Go to Hell
大家一起BS以下菠菜作弊者

| EPS2008          |        35201 | 2008-08-17 22:18:17     |
| missingsky       |        22300 | 2008-08-17 22:19:17     |
| wws8875          |        10000 | 2008-08-17 22:25:54     |
| renxiang         |        23332 | 2008-08-17 22:28:15     |
只看该作者    顶部
离线 ya_new
一般会员



精华贴数 0
个人空间 0
技术积分 414 (4646)
社区积分 0 (947730)
注册日期 2006-5-22
论坛徽章:0
      
      

发表于 2008-4-28 17:51 
我是不会写,找了一个方法他却显示对象不支持此方法或属性
function checkNum(Obj,s,f)
{

    var thisnum=Obj.value;
    if(thisnum=="" return true;
    var n=s-f;//整数位数
    var i;
    if(isNaN(thisnum)!=true)//当输入为数值
    {
        if(f>0)
        {
            i=thisnum.indexOf(".";
            if(i==-1)//当找不到小数,可以输入整数
            {
                if(thisnum.length>n)
                {
                    Obj.select();
                    alert("输入的 整数位 应小于"+n+"位,请重输!";
                    return false;
                }
                else return true;
            }

            if(i==0 || i==thisnum.length-1)
            {
                Obj.select();
                alert("输入错误,请重输!";
                return false;
            }

            if(i>0)
            {
                var floatnum=thisnum.substr(i+1);//小数部分
                var plusnum=thisnum.length-floatnum.length-1;//整数部分
                if(plusnum>n)
                {
                    Obj.select();
                    alert("输入的整数位应小于或等于"+n+"位,请重输!";
                    return false;
                }
                if (floatnum.length>f)
                {
                    Obj.select();
                    alert("输入的小数位应小于或等于"+f+"位,请重输!";
                    return false;
                }
            }

        }

        if(f==0)
        {
            i=thisnum.indexOf(".";
            if(i!=-1)
            {
                Obj.select();
                alert("只能输入整数,且小于或等于"+n+"位,请重输!";
                return false;
            }

            if(thisnum.length>n)
            {
                Obj.select();
                alert("只能输入整数,且小于或等于"+n+"位,请重输!";
                return false;
            }
        }

        return true;
    }
    else
    {
        Obj.select();
        alert("请输入一个数值!";                                 /////在这一句会报错,提示对象不支持方法或属性
        return false;
    }

}


只看该作者    顶部
离线 ya_new
一般会员



精华贴数 0
个人空间 0
技术积分 414 (4646)
社区积分 0 (947730)
注册日期 2006-5-22
论坛徽章:0
      
      

发表于 2008-4-29 09:06 
又没人?


只看该作者    顶部
离线 iooyoo
迷眼流金


精华贴数 0
个人空间 20
技术积分 4154 (327)
社区积分 3476 (380)
注册日期 2006-6-15
论坛徽章:20
现任管理团队成员2008年新春纪念徽章    
      

发表于 2008-4-29 09:23 
说清楚你的意图吧,8楼函数是一个数值范围校验


__________________

使君欲醉离亭酒
酒醒离愁转有
紫禁多时虚右
苕霄留难久
一声歌掩双罗袖
日落乱山春后
犹有东城烟柳
青荫长依旧
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问