博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Js 字符串中提取数字
阅读量:6235 次
发布时间:2019-06-22

本文共 1317 字,大约阅读时间需要 4 分钟。

一 parseInt()方法:

         首先想到的是js提供的parseInt方法,例子:

        

var str ="4500元";    var num = parseInt(str);    alert(num);//4500

 

        结果就是我们想要的, 以为就这么简单,那就错了。如果字符串前面有非数字字符,上面这种方法就不行了:

         

var str ="价格:4500元";    var num = parseInt(str);            alert(num);//NaN

 

 

         这个例子中会弹出NaN,解决这个问题,最简单的方法是:如果知道字符串格式后,去掉前面的非字符。上面这个例子中,去掉子串"价格:"

         

var str ="价格:4500元";    var num = parseInt(str.substring(1).substring(1).substring(1));            alert(num);//4500

 

         显然,这样就显得比较麻烦了。另外,java语言中也有parseInt()方法,里面传的字符串中只要有非数字,myeclipse就会提示错误。Js中的parseInt()方法传的可以有非数字字符串,只要字符串前面就照样运行,知道遇到非数字字符停下来。比如,以下这个例子。

      

var str ="4500元,等级:2";    var num = parseInt(str);            alert(num);//4500

 

 

         不会报错,结果还是一样,因为系统查找到"元"时就停止了,不管后面有没有数字都不会再提取了。所以不会出现45002的结果。Js中有很多这样的例子,比如正则不写/g,默认查找符合的第一个子字符串就跳出,并不会往下面进行。本文第二个例子出现NaN,也是这个原因,请细细体会。

    关于parseInt()方法,还可以有第二个参数。第二个参数表示第一个参数的进制,看个例子:

   

parseInt("11", 2); // 结果:3  如果想把一个二进制数字字符串转换成整数值,只要把第二个参数设置为 2 就可以了。

  后一个参数不写,默认按10进制转换。

  最后一个问题,parse函数是干嘛的?程序之间传递的都是字符串(文本类型),而使用时要转换成需要的类型。parse函数是把字符串转换成我们需要的类型,比如parseInt(),$.parseHTML()。

二、正则

         前面说到正则。事实上,正则处理起来就比较简单了,替换掉非数字的字符就可以了。例子:

     

var s ="价格4500元";    var num= s.replace(/[^0-9]/ig,"");    alert(num);//4500

 

 

         如果遇到字符夹带数字的情况:

   

var s ="价格4500元,等级:2";    var num = s.replace(/[^0-9]/ig,"");    alert(num);//45002

 

这个时候结果就是45002了。

转载于:https://www.cnblogs.com/xiaochongchong/p/5304909.html

你可能感兴趣的文章
双节点RAC各个节点主机频繁自动重启故障解决
查看>>
硬盘安装linux
查看>>
cisco交换机-初级命令与例子
查看>>
SpringMVC大坑一枚:ContentNegotiatingViewResolver可能不利于SEO
查看>>
用CSS实现阴阳八卦图等图形
查看>>
linux文件扩展属性和ACL
查看>>
简洁的dropbox又可以访问了
查看>>
Bash字符串操作
查看>>
使用Jexus服务器运行Asp.Net Core2.0程序
查看>>
Python3写爬虫(三)利用BSF算法实现整个网站的爬取
查看>>
springboot中rabbitmq的配置和使用【进阶一】
查看>>
C++实现动态顺序表
查看>>
流言揭秘:胖子更容易患癌?这可不是危言耸听
查看>>
try catch finally
查看>>
LVM使用案例
查看>>
linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)
查看>>
分布式开放消息系统(RocketMQ)的原理与实践
查看>>
String字符串拼接效率比较
查看>>
UIView 的旋转和缩放
查看>>
Mysqlbinlog使用
查看>>