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将返回一个数组。