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

字符串看起来像这样

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

如何在"amount-"之后获取数字,以及在"direction-"之后的文本?

这使用正则表达式和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]; 

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

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

 var str =“10小于11但大于9”;
 var pattern = / [0-9] + / g;
 var matches = str.match(pattern);

执行后,字符串matches值为"10,11,9"

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

(不需要JQuery)

您可以使用w3schools解释的正则表达式。 暗示:

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

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