2012-06-13 36 views
-4

考慮:如何檢查輸入框是否只包含數字或逗號?

var input_val = $('#field').val(); 

如何檢查input_val是否只包含數字或逗號?該解決方案必須在4個主要瀏覽器中運行。

+2

正則表達式是你的朋友 –

+1

幾年前有一個類似的帖子。 http://stackoverflow.com/questions/4246077/simple-problem-with-regular-expression-only-digits-and-commas –

+1

你的意思是「數字」(例如'0','1'等)或「數字」(例如'-3.14')? – georg

回答

1

/^(\d|,)+$/.test(input_val)將返回true只要input_val只包含數字和/或逗號使用下面的函數

function containsNumbersAndCommasOnly(str) { 
    return /^[0-9,]+$/.test(str); 
} 

+2

這將使1 ,,,,,,,,,,,,,,, ,,, 9對嗎? – mplungjan

0

通過調用

if (containsNumbersAndCommasOnly(input_val)) { 

} 
+2

'1 ,,,,,,,,,,,,,,,,,,,,, 9'會把這也 – mplungjan

0

這是@Adil響應,並從different post社區帖子中回答的組合。兩者的結合比單獨的更好,但仍然存在一些問題...... 12,12,12在這裏將是有效的,所以將如@mplungjan所指出的那樣1 ,,,,,,,,, 9。

對於我而言,這是隻要我願意去,但良好的人與正則表達式可能會增加檢測的逗號的單個實例,但隨即又不是最低的3位之前的解決方案。

if(!(!isNaN(parseFloat(n)) && isFinite(n))){ 
    return /^(\d|,)+$/.test(n); 
}else{ 
    return true; 
} 
相關問題