2012-07-20 19 views
1

字符串我有以下幾點:的Javascript正則表達式來檢查像x.0.0

if (/0\.0$/.test(text)) 

我用這成功地爲您在結束文本0.0如:

1.0.0 
2.0.0 
3.0.0 

然而,也適用於以下內容:

1.10.0 
2.10.0 

是否有一種方法可以更改此表達式,因此它只給出前3個值爲真a nd不是第二個?

這裏是我的完整代碼:

if (/0\.0$/.test(text)) 
     pad = 10; 
    else if (/\.0$/.test(text)) 
     pad = 35; 
    else 
     pad = 60; 
    tdToPad.css('margin-left', pad); 

對於那些文字是2.10.0的情況下,應該墊35,但它是填充有10

+0

你也可以使用'/(?:\ 0){ 2,} $ /' – Serjio 2012-07-20 08:29:36

回答

4

是否有使用/\.0\.0$/一個問題嗎?

+0

好像這個測試通過了1.10.0,它會失敗。 – Alan2 2012-07-20 08:11:08

+0

在我建議的正則表達式的前面增加的字面句號只會匹配以下形式的字符串:foo.0.0 – Zach 2012-07-20 08:12:47

+0

謝謝。有效。我會將其標記爲已接受 – Alan2 2012-07-20 08:17:29

3
if(/\.0\.0$/.test(text)) 

,如果你想有一個號碼開頭

if(/^\d+\.0\.0$/.test(text)) 
0

您的代碼應該是這樣的:

if (/\d+\.0\.0$/.test(text)) // if number.0.0 
     pad = 10; 
    else if (/\d+\.[1-9]+\d+?\.0$/.test(text)) // if 0 at the end 
     pad = 35; 
    else 
     pad = 60; 
    tdToPad.css('margin-left', pad);