只需使用正则表达式:
"1-4,9-12".match(/\d+/g) // ["1", "4", "9", "12"]
Run Code Online (Sandbox Code Playgroud)
正则表达式\d+匹配一个或多个十进制数字的任何序列.global(g)标志确保将所有匹配捕获到结果数组中.
结果数组将包含字符串.如果要解析这些数字,可以将Number函数(或parseFloat)与map*一起使用:
"1-4,9-12".match(/\d+/g).map(Number) // [1, 4, 9, 12]
Run Code Online (Sandbox Code Playgroud)
*map需要支持ECMAScript 5.1或更高版本的浏览器.对于旧版浏览器,要么填充方法(请参阅MDN文章中的示例),请使用具有类似功能的库(如jQuery或underscore.js),或使用简单for循环.
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |