js 判断一个值是否为数字

我在做一个JSP页面,有一个text需要输入一个金额,我现在试用了正则表达式来限制这个text只能输入数字和小数点,但是会有这样的情况比如用户输入了15...1,这个是可... 我在做一个JSP页面,有一个text需要输入一个金额,我现在试用了正则表达式来限制这个text只能输入数字和小数点,但是会有这样的情况比如用户输入了15...1,这个是可以输入的,但这不是一个正确的数字格式,插入数据库会出错的,现在请问怎么在JS里面判断一下这个"15...1"它不是正确的数字,让它返回一个false,如果是"15.1"这样正确的数字,就让他返回true. 展开
 我来答
我的世界_私心
2017-10-05 · TA获得超过621个赞
知道小有建树答主
回答量:141
采纳率:81%
帮助的人:46.2万
展开全部

直接这么写:

<input id="price" placeholder="请输入金额" />
<input type="button" id="tj" value="提交" />
<script type="text/javascript">
var input=document.getElementById("price")
var btn=document.getElementById("tj")
btn.onclick=function(){
var price=input.value
if (isNaN(price*1)) {//判断是否为数字
alert("您输入的不是数字!")
} else {
alert("输入正确")
}
}
</script>

利用isNaN判定输入的是否为数字就好啦!如果需要限制,再用if即可

切记,*1是必要的

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百里拐弯儿
推荐于2017-09-03 · TA获得超过221个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:128万
展开全部

可以用正则来判断,使用下面的函数:

function checkRate(input) {
          var re = /^[0-9]+.?[0-9]*$/;   //判断字符串是否为数字     //判断正整数 /^[1-9]+[0-9]*]*$/  
          var nubmer = document.getElementById(input).value;
         if (!re.test(nubmer)) {
                alert("请输入数字");
                document.getElementById(input).value = "";
                return false;
          }
    }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CH荼靡
推荐于2017-08-24 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:113
采纳率:100%
帮助的人:24.3万
展开全部
正则肯定是没问题的,你试试这个 ^[+-]?\d+(\.\d+)?$|^$|^(\d+|\-){7,}$
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友10b6e8b
2017-08-30 · TA获得超过234个赞
知道小有建树答主
回答量:195
采纳率:68%
帮助的人:83.5万
展开全部

写一个正则判断一下

function check(c)
{
    var r= /^[1-9]?[0-9]*\.[0-9]*$/;
    return r.test(c);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扑火的飞蛾06
2017-09-02 · TA获得超过1156个赞
知道小有建树答主
回答量:1895
采纳率:62%
帮助的人:268万
展开全部
可以使用isNaN()函数,该函数名称表示is not a number。
顾名思义,如果传入的参数不是数字,则返回true。
如果传入的参数是数字,则返回false。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式