2012-11-08 142 views
1

我想檢查我的字符串是否只有數字或小數位,使用JavaScript。JavaScript函數檢查字符串中是否只有數字或小數位

如果它在字符串中只有數字或小數,那麼它應該通過,否則它會顯示一條警告說有錯誤。

我曾嘗試使用下面的代碼嘗試,但它並沒有任何警告..

難道我做錯了什麼?

var myString = "abc"; 

     if (myString.matches("[0-9].") && myString.length() > 2) 
     { 
      alert("Pass"); 
     } 
     else 
     { 
      alert("Error"); 
     } 
+2

長度是不是一個函數......所以這就是爲什麼什麼也沒有發生。 mystring.length> 2 – Koenyn

回答

1

讓我們簡化:-)

if (/^[\d\.]{3,}$/.test(myString)) { 
    alert("Pass"); 
} else { 
    alert("Error"); 
} 
+0

Lol剛剛注意到我也放了'd {2,}',並且改變了它。 – elclanrs

+0

如果我使myString =「12.3」它顯示錯誤,其中應該允許小數以及0-9 – Aaron

+0

如果您需要一個點 - 使用** \。** – Damask

0

嘗試:

/^\d+$/.test(myString) 

返回布爾值,而不是數組或爲空,這是match呢。總之:

if (/^\d{2,}$/.test(myString)){ 
... 
}else{ 
... 
} 
1

使用^\d*[0-9](\.\d*[0-9])?$

DEMO

if (myString.match(/^\d*[0-9](\.\d*[0-9])?$/) && myString.length > 2) { 
     alert("Pass"); 
    } else { 
     alert("Error"); 
    } 
0

你可以把它放在一起這樣的:

alert(/^\d{3,}$/.test(myString) ? 'Pass' : 'Error') 
0

你的代碼是錯誤的myString.length()是一個功能不實際的myString的長度

var myString = "abc"; 

    if (myString.match(/[0-9]/, "g") && myString.length > 2) 
    { 
     alert("Pass"); 
    } 
    else 
    { 
     alert("Error"); 
    } 
相關問題