2013-08-29 52 views
0

我需要一個regX,它只能匹配123,123。我至REGx是我需要一個正則表達式來檢查數字逗號和數字

var regX = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])*$/; 

但其目前匹配和123,以及

有效的情況下:123123或123000或00萬 無效的情況下:123.123或123 123或'123''123'

+1

你可以把更多的例子字符串匹配和不匹配?另外,這是JavaScript? – Jerry

+0

'\ d * [0-9]'有什麼意義? – leppie

+1

提供更多樣本(例如,'123,000'正確) –

回答

1

您可能想要使用{x,y}量詞。我至少匹配物品的X,最多匹配Y.如果你離開一個,它在這個方向上沒有限制。如果你只有一個號碼,沒有逗號,它恰好與這個數字相匹配。

整整三個數字:

(\d{3}),(\d{3}) 

三個或更多

(\d{3,}),(\d{3,}) 

2至7位:

(\d{2,7}),(\d{2,7}) 

等等......

0

可以試試這個

\d*[0-9],\d*[0-9] 
2

你應該使用這個表達式= \d+(,\d+)+

0

它看起來像你實際上是試圖用千個分隔符匹配的數字。

試試這個:/\d{1,3}(?:,\d{3})*/

+0

是的,我想用多個逗號分隔符匹配數字 –

+1

您可能不會使用'^'和'$',因爲這會匹配像123.54這樣的浮點數的部分數字。 –

+0

這裏的數字在1,3之間是固定的,我們可以使它更通用。 –

0

如果您的號碼是正整數,你可以使用:\ d + \ d + 如果你想浮點數還有:(\ d |)+(\ d |。 )+ 雖然這也會將格式不正確的數字與多個或錯位的小數點包括在內。等

相關問題