Javascript / Jquery - 从字符串中获取数字

时间:2010-10-17 21:18:39

标签: javascript jquery string

字符串看起来像这样

"blabla blabla-5 amount-10 blabla direction-left"

如何在"amount-"之后和"direction-"之后的文字中获取数字?

3 个答案:

答案 0 :(得分:38)

这将使所有数字被昏迷分开:

var str = "10 is smaller than 11 but greater then 9";
var pattern = /[0-9]+/g;
var matches = str.match(pattern);

执行后,字符串matches将具有值"10,11,9"

如果您只是第一次出现,那么模式将为/[0-9]+/ - 这将返回10

(不需要JQuery)

答案 1 :(得分:17)

这使用regular expressionsexec method

var s = "blabla blabla-5 amount-10 blabla direction-left";
var amount = parseInt(/amount-(\d+)/.exec(s)[1], 10);
var direction = /direction-([^\s]+)/.exec(s)[1];

如果缺少数量或方向,代码将导致错误;如果可能,请在索引到应该返回的数组之前检查exec的结果是否为非null。

答案 2 :(得分:6)

您可以按照by w3schools的说明使用正则表达式。提示:

str = "blabla blabla-5 amount-10 blabla direction-left"
alert(str.match(/amount-([0-9]+)/));

其他你可以简单地想要所有数字,所以只使用模式[0-9] +。 str.match将返回一个数组。