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

Ale*_*lex 12 javascript string jquery

字符串看起来像这样

"blabla blabla-5 amount-10 blabla direction-left"
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得之后的数字"amount-",以及之后的文本"direction-"

Ed.*_*d.C 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)


Ple*_*and 17

这使用正则表达式exec方法:

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];
Run Code Online (Sandbox Code Playgroud)

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


Aif*_*Aif 6

您可以使用w3schools解释 regexp .暗示:

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

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