我有一个示例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}?$/)
获取数字的简单方法是什么?
答案 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));