一 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);//

不会报错,结果还是一样,因为系统查找到"元"时就停止了,不管后面有没有数字都不会再提取了。所以不会出现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);//

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

   

    var s ="价格4500元,等级:2";

    var num = s.replace(/[^0-9]/ig,"");

    alert(num);//

这个时候结果就是45002了。

Js 字符串中提取数字的更多相关文章

  1. Oracle中如何判断字符串是否全为数字,以及从任意字符串中提取数字

    本文介绍了判断字符串是否全为数字的4种办法,另外还介绍了一个translate函数的小技巧,从任意字符串中提取数字(调用2次translate函数).这个办法是一个公司同事发现的,用起来很方便,但理解 ...

  2. 在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符

    原文:在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符 最近做项目的时候,经常用到一个字符串中的某些字符,处理起来非常的棘手,现在用下面的方法就可以很方便的从字符串中处理你想要的 ...

  3. java从字符串中提取数字

    string类函数的补充说明: trim()方法返回调用字符串对象的一个副本,但是所有起始和结尾的空格都被删除了,例子如下:String s=" Hello World ".tri ...

  4. java从字符串中提取数字的简单实例

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...

  5. SQL函数:字符串中提取数字,英文,中文,过滤重复字符(转)

    --提取数字 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP FUNCTION DBO.GET_NUMBER2 GO )) ) AS BEGIN BE ...

  6. mysql—从字符串中提取数字(类型1)

    select reason,CHAR_LENGTH(reason),mid(reason,5,CHAR_LENGTH(reason)-5)+0 from `table` 解释: CHAR_LENGTH ...

  7. js在字符串中提取数字

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Js 利用正则 在字符串中提取数字、替换非数字字符为指定字符串

    var s ="总金额4500元"; var num= s.replace(/[^-]/ig,""); alert(num);// 上述示例会把数字匹配到直接转 ...

  9. python从含有汉字和数字的字符串中提取数字部分

    我遇到的问题是:我想要从字符串“1小时12分钟”中(其中两个数字是变化的)截取出1和12. 切片的方法比较简单,但不适合变化的字符串. filter(str.isdigit,"1小时12分钟 ...

随机推荐

  1. 清北学堂模拟赛d1t4 一道图论好题(graph)

    题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,不仅有边权还有点权. LYK给出了一个子图的定义,一张图G’={V’,E’}被称作G的子图,当且仅当 ·G ...

  2. [数据结构与算法]排序算法(Python)

    1.直接插入排序 给定一个数组后,从第二个元素开始,如果比第一个小,就跟他交换位置,否则不动:第三个元素如果比第二个小,把第三个跟第二个交换位置,在把第二个与第一个比较:..... def inser ...

  3. linux给文件或文件夹加入apache权限

    系统环境:ubuntu11.10/apache2/php5.3.6 在LAMP环境中,測试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现例如以下php警 ...

  4. IOS的一个关于球碰撞的小游戏

    这个游戏是关于一个球随机在屏幕上移动,能够用手指来操纵令一个球,假设两个球碰撞到一起,就表示输了,很easy的一个游戏 在StoryBoard里定义两个UIImageView和一个startbutto ...

  5. thymeleaf+springboot找不到html,只返回了字符串

    在浏览器用链接http://localhost:8080/city/page/list 访问时页面上只出现了cityList字样,预期是返回cityList.html 解决:在controller中使 ...

  6. luogu1052 过河

    题目大意 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...

  7. 查看tensorflow pb模型文件的节点信息

    查看tensorflow pb模型文件的节点信息: import tensorflow as tf with tf.Session() as sess: with open('./quantized_ ...

  8. NYOJ skiing(DFS+记忆化搜索)

    skiing                                                                        时间限制:3000 ms  |  内存限制: ...

  9. 【撸码caffe 五】数据层搭建

    caffe.cpp中的train函数内声明了一个类型为Solver类的智能指针solver: // Train / Finetune a model. int train() { -- shared_ ...

  10. [APIO2008]DNA

    https://zybuluo.com/ysner/note/1158123 题面 戳我 解析 我们要求出第\(r\)种方案,莫过于看其前面什么时候有\(r-1\)种方案. 于是,我们要求出每种情况的 ...