2013-02-11 92 views
0

有很多關於SO的問題的答案,但對JavaScript沒有答案...如何檢查(子)字符串是一個JavaScript中的數字?

如何檢查此蜇20130203003002od的前16個字符是否是數字?這意味着子字符串不包含任何字母,也不包含數字以外的任何其他字符?

+0

有人建議'isNaN(value)'函數。但是這個評論被刪除了任何想法爲什麼? – Radek 2013-02-11 22:43:31

+0

,因爲提問者只關心如果前16個字符只包含數字。例如,isNaN('0xf')將返回'false'(意思是一個數字),這不是提問者想要的,因爲'x'和'f'不是數字。 – 2013-02-13 15:36:03

回答

1

您可以測試字符串對正則表達式,像這樣:

var data = "20130203003002od"; 
var matched = data.match("[0-9]{16}.*"); 

如果匹配的是NULL,這意味着,前16個字符不是一個數字。

+0

我喜歡你的答案。謝謝。很好地工作。 – Radek 2013-02-11 23:18:36

6

如果前16個字符... [不包含]任何字母,也沒有任何其他字符,但數字

/^\d{16}/.test(str); 

應該工作。

相關問題