2013-03-06 169 views
0

我的目標是檢測一個字符串是否爲IP格式(4個數字以句點分隔),下面的語句有效,但我覺得必須有一種縮短的方法。如果有,請告訴我。如果沒有,那也沒問題,我只想知道是否有。IP地址正則表達式簡化

/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ 

請注意,這些都在JavaScript中。 哦,我唯一的建議是縮短它。我不需要它比現在更嚴格。

+0

你的陳述確實沒有**工作。例如'9898.2.2.34343434'或'555.555.555.555'都是IP地址? – Kent 2013-03-06 21:47:15

+0

我不需要嚴格。唯一解析通過的是合法的IP地址,我不需要知道是否空白限定爲一個IP,我需要知道它是否跟隨在點號的點號點號結構。 – Xymon 2013-03-06 21:50:33

回答

4

如果你不關心號碼模式是多久,只是對結構這應該工作,更簡潔:

^([0-9]+\.){3}[0-9]+ 
+0

謝謝!正確的是我在找什麼:-) – Xymon 2013-03-06 21:54:54

+1

如果shortness是優先級'[0-9]'會比'\ d'更好。所以'^(\ d + \。){3} \ d + $'。 – MikeM 2013-03-06 22:25:02

1

當然可以。 嘗試用下面的代碼

^([0-9] +)。{3} [0-9] +

1

那麼,如果缺少肯特指出

9898.2.2.34343434555.555.555.555

是正常的,你的數據表現良好^(\d+\.){3}\d+會稍微短一些。 試圖保存字節?

+0

是的,我只是遇到了一些長代碼的問題,而這些代碼並沒有什麼必要。我正在做的是使用它來爲請求我的服務器的主機切換「isIP」布爾值。 – Xymon 2013-03-07 02:05:20