前端 JavaScript 字符串中提取数字

前端 JavaScript 字符串中提取数字var str 4500 元 var num parseInt str alert num 4500 如果字符串前面有非数字字符 上面这种方法就不行了 var str 价格 4500 元 amp quo

大家好,欢迎来到IT知识分享网。

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)); or var num = parseInt(str.slice(3)); alert(num);//4500 

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

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

关于 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 var num2 = s.match(/[0-9]+/i,''); alert(num2)//4500

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/174058.html

(0)
上一篇 2025-03-21 11:45
下一篇 2025-03-21 12:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信