2014-10-05 106 views
0

如果我們有一個字符串,說如何識別使用JS的字符串中的數字?

'1, 2, 3, 4' 
'1, 2, 3 GO!' 
'ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!' 

然後我怎麼承認其具有數字和返回true?

我需要它,因爲同時使用,

if(input == input.toUpperCase()) 

如果輸入數字,這種情況下返回true,所以需要添加一種優雅的方式爲從通過此條件下停止編號。

編輯1:字符串確實是用逗號分隔的,我已經用google的方式將非逗號分隔的字符串識別爲數字。

Edit2:增加了更多我需要通過的例子。

+1

'警報('(1,2,3,4)的搜索(/ \ d /)== -1。!);' – Cheery 2014-10-05 18:39:15

+0

不正則表達式符合你的要求?你還需要什麼其他的字符串來解析? – Brad 2014-10-05 18:39:30

+0

@Brad正則表達式是我的最後手段,所有字母,特殊字符和變音符號。 – 2014-10-05 18:42:29

回答

1

Regular expressions這是適當的:

var str = "(1, 2, 3, 4)"; 
var containsNumber = /\d/.test(str);  // true 

這裏,\d是一個正則表達式,如果你的字符串包含的任何地方的一個數字,將匹配。


好吧,看來你需要尋找的小寫字母......如果有任何小寫字母不應該被視爲大喊大叫

var str = "(1, 2, 3, 4)"; 
var containsLowercaseLetters = /[a-z]/.test(str);  // false 

雖然這隻適用於拉丁字母。在你的情況下,它可能是簡單的,只是狀態:

var isYelling = (input == input.toUpperCase()) && (input != input.toLowerCase()); 
+0

好吧,雖然它只與數字一起工作,但我還需要檢查是否有與他們的字母表,然後它必須通過測試失敗。 – 2014-10-05 18:50:29

+0

@PrakashWadhwani用適當的測試用例更新您的問題。 – Brad 2014-10-05 18:53:36

+0

@Brad已經完成。 – 2014-10-05 18:55:08