2016-07-18 65 views
2

我需要讓下面的整數:允許在正則表達式負整數

-1, 0, 1, 2, 3, 4 and so on 

這是我努力的正則表達式:

/^[-0-9]+$/gm 

下面是結果:

-1 //true, its fine 
-2 //true, should be false 
- //true, should be false 

我如何允許範圍從-1到任何+ve integer

+0

爲什麼你需要整數的正則表達式,會不會更合適? –

+0

可以將這樣的整數作爲字符串的一部分,比如'someTe232xt-1kk33'? – RomanPerekhrest

+0

@ l'L'l輸入也可以是字符串。 – Shaharyar

回答

3

你可以使用這個表達式:

/^(?:-1|\d+)$/gm 

RegEx Demo

交替使用符合我們既-1或其他任何積極的數字即\d+在給定的輸入。

+1

不確定。既然你打了我15秒,我收回我的答案:) –

+0

你正則表達式也接受'001'。 –

+0

@JoséCastro:'001'也是一個正數 – anubhava

0

更精確的和普遍的解決方案:

^(?:-?[1-9]\d*|0)$ 

它可以防止-0,001和其它這樣的變體。 添加標記g用於全局搜索和/或m用於通過多行文字進行搜索。