javascript从字符串中提取数字不起作用

时间:2011-12-30 20:05:10

标签: javascript regex

我有一个示例str1 "14 girls" str2 "178 guys"

我在chrome控制台中尝试了以下内容来提取数字12和178,有人可以告诉我出了什么问题吗?

str.match(/^\d{2}$/)  to get the number of girls i.e. `14`

str.match(/^[0-9]{2}?$/)

获取数字的简单方法是什么?

3 个答案:

答案 0 :(得分:4)

如果确保数字始终位于字符串的开头,请使用:

var n = parseInt(s, 10);

parseInt()函数将停止解析第一个非数字字符。

你的正则表达式不起作用的原因是因为你用$完成了它们 - 这意味着只有当整个字符串是一个两位数字时它们才匹配。

答案 1 :(得分:1)

我认为会更好:

str.match(/\d+(\.\d+)?/g)

这将为您提供一个包含浮点数的所有数字的数组。

答案 2 :(得分:0)

这就是我使用的:

var pattern=/[0-9]+/;

所以...

var str='123abc';
//var str='abc123';
document.write(str.match(pattern));