2011-10-22 81 views
4

如何使用正则表达式拆分和选择哪个数字。正则表达式从字符串中拆分数字

1dozen 3打 dozen1 < =不可能的,但假设用户键入过

30 /公斤

我还是找出与不完整的一个:

/[a-z](?=\d)|\d(?=[a-z])/i 
用户可以像输入字符串

但缺少空间和正斜杠。谁能帮我?

+0

如果用户只输入数字加文本,然后parseInt(str,10)将完成这项工作 – mplungjan

回答

12

在这里完全没有必要了!

http://jsfiddle.net/5WJ9v/

代码:

var text = "1dozen 3 dozen dozen1 30/kg"; 
var regex = /(\d+)/g; 
alert(text.match(regex)); 

你得到一个匹配的对象与所有的数字。

上面的脚本正确提示1,3,1,30

+0

击败我! :) –

+0

真的很巧妙! –

2
var str = '1dozen 3 dozen dozen1 30/kg'; 
str.match(/\d+/g); // ["1", "3", "1", "30"]