文档章节

js数字校验

白永鹏
 白永鹏
发布于 2016/06/19 16:36
字数 888
阅读 5
收藏 0

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() :在字符串中从后向前定位字符和字符串;

© 著作权归作者所有

共有 人打赏支持
白永鹏
粉丝 0
博文 2
码字总数 905
作品 0
丰台
JavaWeb01-HTML篇笔记(七)

.1 案例三:完成对注册页面的数据的简单校验.1.1.1 需求: 对注册页面的数据进行非空的简单校验!!!如果有某个值没有输入,点击提交,弹出一个对话框进行提示!! 1.1.2 分析:1.1.2.1 技术分...

我是小谷粒
04/28
0
0
jquery validate 详解一

jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一导入js库 <script src="../js/jquery.js" type="text/javascript"></script> <script src="../js/jq......

无聊的人们啊
2012/05/27
0
0
jQuery验证控件jquery.validate.js+jquery.validate.unobtrusive.js的用法

jquery.validate.unobtrusive.js的用法: jquery.validate.unobtrusive.js使用上很简洁,只要对Tag下几个属性即可以使用! 引用JavaScript<script src="http://code.jquery.com/jquery-1.6.2.......

随智阔
2013/03/03
0
0
jquery-validate()验证

jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一导入js库 <script src="../js/jquery.js" type="text/javascript"></script> <script src="../js/jq......

cookqq
2012/02/20
0
0
jQuery--validate插件 校验

官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一导入js库 <script src="../js/jquery.js" type="text/javascript"></script> <script src="../js/jquery.valid......

durban
2012/04/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部