回答
你不需要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. 使用確切的子字符串篩選字符串
- 3. PowerShell:篩選字符串列表
- 4. 在PHP中篩選一個字符串
- 5. 通過字符串篩選ValuesQuerySet?
- 6. 篩選[字符串]]自定義範圍
- 7. 如何根據多個字符串參數或字符串數組篩選數字字段?
- 8. 如何選擇/篩選字符串列表中的子字符串?
- 9. 從字符串中篩選開始和結束字符
- 10. NSPredicate for篩選對象whoes字符串是BEGINSWITH特殊字符
- 11. 單選字符串,字符串數組
- 12. 在DataTable JQuery中篩選字符串的確切位置
- 13. jQuery Mobile的篩選的列表 - 只匹配字符串
- 14. 使用select和bool數組篩選字符串數組
- 15. 通過字段中的子字符串篩選文檔
- 16. elasticsearch根據字符串字段的長度來篩選
- 17. 在elasticsearch如何在csv字符串字段中篩選
- 18. 如何使隨機字符串生成器篩選出重複的字符串?
- 19. 篩選出一個較大字符串中的特定字符串?
- 20. jQuery - 乘以字母數字字符串
- 21. 根據JSONPATH中的數組中的字符串篩選Json
- 22. 根據字符串末尾的位數自動篩選列
- 23. Powershell:通過字符串數組篩選文件的內容
- 24. 通過字符串數組篩選對象集合
- 25. jQuery函數的字符串
- 26. 如何datatable.Select()篩選數字
- 27. 從字符串中篩選出UTF-8標點和符號
- 28. 字符串數組。選擇
- 29. 字符串#計數選項
- 30. 拆分字符串參數並選擇該字符串數組?
你能舉一些例子數據嗎? dkwlj-32-fjkij-ff0-33? – sunn0 2010-12-16 12:14:41
請閱讀常見問題解答:http://stackoverflow.com/faq問題應該是*問題*。你對問題的投入越多,你最近的答案的質量和數量越好(以及對你所展示的場地的更多尊重)。 – 2010-12-16 12:15:58