使用jquery判断是否为数字

清疚 2022-06-17 09:21 313阅读 0赞

我的个人博客开通了,地址:https://timewentby.com 欢迎访问

方法一:使用isNaN() 函数

  1. var val = $("#test").val();
  2. var ival = parseInt(val);//如果变量val是字符类型的数则转换为int类型 如果不是则ival为NaN
  3. alert(typeof(ival));
  4. if(!isNaN(ival)){
  5. alert(val +"是数字");
  6. } else{
  7. alert(val +"不是数字");
  8. }

说明: isNaN()函数,如果传入的参数是数字返回false,否则返回true

方法二:使用正则表达式判断

  1. 常用正则:
  2. "^\\d+$"           //非负整数(正整数 + 0)
  3.   "^[0-9]*[1-9][0-9]*$"    //正整数
  4.   "^((-\\d+)|(0+))$"     //非正整数(负整数 + 0)
  5.   "^-[0-9]*[1-9][0-9]*$"   //负整数
  6.   "^-?\\d+$"         //整数
  7.   "^\\d+("           //非负浮点数(正浮点数 + 0)
  8.   "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"    //正浮点数
  9.   "^((-\\d+("         //非正浮点数(负浮点数 + 0)
  10.   "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"   //负浮点数
  11.   "^(-?\\d+)("         //浮点数
  12. 实例:
  13.   var r = /^\+?[1-9][0-9]*$/;  //判断是否为正整数
  14. r.test(str);
  15. 或者:
  16. function isNumber(value) { //验证是否为数字
  17. var patrn = /^(-)?\d+(\.\d+)?$/;
  18. if (patrn.exec(value) == null || value == "") {
  19. return false
  20. } else {
  21. return true
  22. }
  23. }

知识拓展:JavaScript的Number()函数 ——这里不是判断方法

  1. <script type="text/javascript">
  2. var test1= new Boolean(true);
  3. var test2= new Boolean(false);
  4. var test3= new Date();
  5. var test4= new String("999");
  6. var test5= new String("999 888");
  7. document.write(Number(test1)+ "<br />");
  8. document.write(Number(test2)+ "<br />");
  9. document.write(Number(test3)+ "<br />");
  10. document.write(Number(test4)+ "<br />");
  11. document.write(Number(test5)+ "<br />");
  12. </script>

输出的结果是:
1
0
1492855437972
999
NaN

可以看出在JavaScript中0代表false,1代表true。但是我测试了一下,除0以外的数放在if的条件中,都可以执行if语句内容。所以。可以得出除0以外的所有数都可以代表true。

本文参考了一下链接:
http://www.cnblogs.com/-walker/p/5933458.html

发表评论

表情:
评论列表 (有 0 条评论,313人围观)

还没有评论,来说两句吧...

相关阅读