回答
你不需要jQuery的这 - 只是普通的旧的JavaScript regex replacement
var number = yourstring.replace(/[^0-9]/g, '')
这将摆脱任何非[0-9]
编辑:这是一个小功能从输入字符串中提取所有数字(作为实际数字)。这不是一个详尽的表达,但对任何需要的人来说都是一个好的开始。
function getNumbers(inputString){
var regex=/\d+\.\d+|\.\d+|\d+/g,
results = [],
n;
while(n = regex.exec(inputString)) {
results.push(parseFloat(n[0]));
}
return results;
}
var data = "123.45,34 and 57. Maybe add a 45.824 with 0.32 and .56"
console.log(getNumbers(data));
// [123.45, 34, 57, 45.824, 0.32, 0.56];
为什么正则表达式很难?它看起来很外国,我的大脑似乎立即关闭,因为它被很多标点符号和符号所淹没,如果我不知道它们的意思但知道它们的意思是......为什么我必须每次都看这个?信息只是不会粘在我的脑海里,不管... – 2013-05-09 21:47:14
^欢迎来到俱乐部。 – 2013-05-14 22:22:00
你好。但是像12.5,20.3这样的数字。他们返回125和203? – 2016-12-06 02:29:20
不是真的jQuery的根本:
number = number.replace(/\D/g, '');
这个正则表达式,/\D/g
,匹配任何非数字。因此,对.replace()
的呼叫将用空字符串替换所有非数字(所有这些都归功于“g”)。
编辑 —如果你想要一个实际* 数值,你可以从字符串除去非数字后使用parseInt()
:
var number = "number32"; // a string
number = number.replace(/\D/g, ''); // a string of only digits, or the empty string
number = parseInt(number, 10); // now it's a numeric value
如果原始字符串可能根本没有数字在这种情况下,您将从parseInt
中获得数字非值NaN
,这可能与任何情况一样好。
- 1. 筛选基于字符串
- 2. Google spreasheet按字符串数组筛选
- 3. 字符串上的数组筛选器
- 4. 可选字符串筛选器
- 5. 按字符串长度(字符数)筛选
- 6. 使用确切的子字符串筛选字符串
- 7. 使用一对字符串筛选字符串列表
- 8. 如何筛选Java字符串以仅获取字母字符?
- 9. 筛选行不匹配字符串
- 10. PowerShell:筛选字符串列表
- 11. 筛选[字符串]]自定义范围
- 12. DataTable DefaultView筛选字符串与“转换()”
- 13. 如何筛选从JSON字符串
- 14. 在PHP中筛选一个字符串
- 15. 多个字符串自动筛选
- 16. 在android中筛选字符串
- 17. 通过字符串筛选ValuesQuerySet?
- 18. 如何根据多个字符串参数或字符串数组筛选数字字段?
- 19. jQuery选择字符串内的字符
- 20. 如何选择/筛选字符串列表中的子字符串?
- 21. 从字符串中筛选开始和结束字符
- 22. NSPredicate for筛选对象whoes字符串是BEGINSWITH特殊字符
- 23. 单选字符串,字符串数组
- 24. jQuery Mobile的筛选的列表 - 只匹配字符串
- 25. 在DataTable JQuery中筛选字符串的确切位置
- 26. 针对每个非空字符串的jQuery筛选器
- 27. 筛选特殊字符
- 28. 使用select和bool数组筛选字符串数组
- 29. Youtube API自动筛选出“字母/数字添加到搜索字符串”?
- 30. 通过字段中的子字符串筛选文档
你能举一些例子数据吗? dkwlj-32-fjkij-ff0-33? – sunn0 2010-12-16 12:14:41
请阅读常见问题解答:http://stackoverflow.com/faq问题应该是*问题*。你对问题的投入越多,你最近的答案的质量和数量越好(以及对你所展示的场地的更多尊重)。 – 2010-12-16 12:15:58