作者: 字体:[增加 减小] 类型:转载 时间:2013-04-14我要评论

js验证是否为数字的总结,需要的朋友可以参考一下

js验证是否为数字,最简单的方法:

isNaN函数的使用:

function checknum() { 
  if (isNaN(frm.num.value)) { 
    alert("请输入数字"); 
    frm.num.focus();

    return false;
  } 
}

最完整最精确的方法:(正则表达式)

1)

   "^\\d+$"          //非负整数(正整数 + 0) 
  "^[0-9]*[1-9][0-9]*$"    //正整数 
  "^((-\\d+)|(0+))$"        //非正整数(负整数 + 0) 
  "^-[0-9]*[1-9][0-9]*$"    //负整数 
  "^-?\\d+$"           //整数 
  "^\\d+("           //非负浮点数(正浮点数 + 0) 
  "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"    //正浮点数 
  "^((-\\d+("           //非正浮点数(负浮点数 + 0) 
  "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"    //负浮点数 
  "^(-?\\d+)("         //浮点数
2)

  var r = /^\+?[1-9][0-9]*$/;  //正整数 
      r.test(str);

最直观的方法:

<script language="javascript"> 
  function CheckMyForm() { 
    var txt = myform.mytext.value; 
    if(checknumber(txt)) { 
      alert("只允许输入数字!"); 
      return false; 
    } 
    return true; 
  }

  function checknumber(String) { 
    var Letters = "1234567890"; 
    var i; 
    var c; 
    for( i = 0; i < Letters.length(); i ++ )   {   //Letters.length() ->>>>取字符长度
      c = Letters.charAt( i ); 
      if (Letters.indexOf( c ) ==-1)   { //在"Letters"中找不到"c"   见下面的此函数的返回值
        return true; 
        } 
    } 
    return false; 
  } 
</script>

拓展:=====================================

charAt  

charAt(int index)方法是一个能够用来检索特定引索下的字符的String实例的方法.
  charAt()方法返回一个位于提供给它的参数引索处的字符.
  如: str.chatAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符.
  下面的示例阐释了 charAt 方法的用法:
  <script language="javascript">
    function charAtTest(n){ 
      var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";// Initialize variable. 
      var s; // Declare variable. 
      s = str.charAt(n - 1); // Get correct character // from position n – 1.
      return(s); // Return character.
    }
    alert(3);

  </script>

IndexOf

String.IndexOf 方法 (value, [startIndex], [count]):
  用法和 indexof() 完全相同。

  报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。

  参数

  value

  要查找的 Unicode 字符。 对 value 的搜索区分大小写。

  startIndex(Int32)

  可选项,搜索起始位置。不设置则从0开始。

  count(Int32)

  可选项,要检查的字符位置数。

  返回值

  如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。

  IndexOf()

  查找字串中指定字符或字串首次出现的位置,返首索引值,如:

  str1.IndexOf("字"); //查找“字”在str1中的索引值(位置)

  str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置)

  str1.IndexOf("字",start,end);//从str1第start+1个字符起,查找end个字符,查找“字”在字符串STR1中的位置[从第一个字符算起]注意:start+end不能大于str1的长度

  indexof参数为string,在字符串中寻找参数字符串第一次出现的位置并返回该位置。如string s="0123dfdfdf";int i=s.indexof("df");这时i==4。

  如果需要更强大的字符串解析功能应该用Regex类,使用正则表达式对字符串进行匹配。

  [转贴]原信息URL:http://www.jb51.net/html/blog/1/23464.htm

  indexof() :在字符串中从前向后定位字符和字符串;所有的返回值都是指在字符串的绝对位置,如为空则为- 1

  string test="asdfjsdfjgkfasdsfsgfhgjgfjgdddd";

  test.indexof('d') =2 //从前向后 定位 d 第一次出现的位置

  test.indexof('d',1) =2 //从前向后 定位 d 从第三个字符串 第一次出现的位置

  test.indexof('d',5,2) =6 //从前向后 定位 d 从第5 位开始查,查2位,即 从第5位到第7位;

  lastindexof() :在字符串中从后向前定位字符和字符串;

js验证是否为数字的总结(转)的更多相关文章

  1. js验证是否是数字,支持正负数小数

    js验证是否是数字,支持正负数小数. function isShuzi(str){ //var regExp =/[0-9]$/;//不支持小数 var regExp =/^\-?[0-9]+(.[0 ...

  2. JS验证只能输入数字,数字和字母等的正则表达式

    JS判断只能是数字和小数点 0.不能输入中文1)<input onpaste="return false;" type="text" name=" ...

  3. js验证文本框数字

    输入框 <input name="title" type="text" oninput="onlyNum(this,'')" titl ...

  4. js验证4位数字

    var reg = /^\d{4}$/; var str = "0001"; reg.test(str);

  5. js实例:验证只能输入数字和一个小数点

    分享一个javascript脚本代码,用于验证只能输入数字和一个小数点,检测数字输入是否符合要求,效果不错,有用到的朋友拿去吧. 原文地址:http://www.jbxue.com/article/1 ...

  6. Js验证 :只能输入数字和小数点 验证是否是数字 js取float型小数点后两位

    JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'') ...

  7. js函数验证方式:验证是否是数字,支持小数,负数

    验证 datatype="/^\d+(\.\d+)?$/" validatform验证是否是数字 支持小数点 datatype="d" 貌似支持小数 js函数验 ...

  8. js验证input输入框(字母,数字,符号,中文)

    [javascript]代码库 <h1>js验证输入框内容</h1> <br /> <br /> 只能输入英文 <input type=" ...

  9. isNaN+parseFloat进行统计以及对NaN的处理【JS验证数字】

    今天遇到这么一个需求: 对数据进行统计,可是在统计的时候parseFloat的时候出来一个NaN.后来用isNaN判断,如果是NaN,就给其设置一个初值. 先看对两个方法的解释 parseFloat: ...

随机推荐

  1. Java笔记—— 类与对象的几个例子

    问题1 按要求编写java应用程序: 编写西游记人物类,属性有:身高,名字和武器.方法有:显示名字,显示武器. 在main方法中创建两个对象.猪八戒和孙悟空,并分别为他们的两个属性名字和武器赋值,最后 ...

  2. MUI开发记录

    最近很久没有更新博客了,因为一直在学习前端h5 手机app的开发.曾经一度觉得自己css和js学得不错,进入到前端领域后才发现水很深~ HUuilder使用安卓模拟器 安卓模拟器有很多,我这里以夜神模 ...

  3. oracle pl/sql 分页

    一.无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程. 案例:现有一张表book, ...

  4. 在Storyboard中为UITableView添加Header和Footer

    我在这里所说的Header和Footer并不是sectionHeader和sectionFooter,而是指UITableView的tableHeaderView和tableFooterView,这两 ...

  5. struts标签与jstl标签互换

    近期在做struts切换spring mvc时发现代码中使用了大量的struts标签,对常用的struts标签做了总结,首先需要引入 <%@ taglib prefix="c" ...

  6. Java Byte取值范围

    Java Byte 的取值范围大家都知道(-128 ~ 127),那么-128 和 127 这两个数是怎么计算的呢? #大学知识回顾: 概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ...

  7. java复习要点(一)------- java语言的特点、java的工作原理、配置环境变量、java命令的使用

    一.java语言的特点: (1)简单并面向对象 (2)鲁棒并安全: java语言在编译及运行程序时,都要进行严格的检查,防止不匹配问题的发生.如果引用一个非法类型,或执行一个非法类型操作,java减肥 ...

  8. Mysql连接报错:1130-host ... is not allowed to connect to this MySql server如何处理

    这个问题是因为在数据库服务器中的mysql数据库中的user的表中没有权限(也可以说没有用户),下面将记录我遇到问题的过程及解决的方法. 在搭建完LNMP环境后用Navicate连接出错 遇到这个问题 ...

  9. 跨平台移动端APP开发---简单高效的MUI框架

    MUI是dcloud(数字天堂)公司旗下的一款跨平台开发移动APP的框架产品,在学习MUI框架之前,最先接触了Hbuilder代码编辑器,它带给我的第一感觉是快,这是HBuilder的最大优势,通过完 ...

  10. ZOJ-3933-Team Formation【二分图最佳匹配】【KM】

    http://blog.csdn.net/loy_184548/article/details/51154195    一开始对不同组合得不同分数(mm1,mg2,gg3),想用sap来写,但是保证了 ...