我是HTML和JavaScript的新手。我們正在嘗試使用RegExp函數使用下面的正則表達式來驗證IP地址。但是這個正則表達式的問題在於驗證並返回true,對於無效的IP地址也是如此。使用RegExp功能
例如,當輸入IP地址爲10.94.161.125
時,正則表達式正確工作,但當IP地址輸入爲10/94/161/125
時返回true。
事實上,在.
地方的任何字符(如@
,!
,#
等)不使返回false的功能,而是它返回true。請讓我知道確切的區別是什麼「\」。正在爲了使正則表達式正確地工作,在哪裏「。」它不會以正確的方式進行正則表達式工作。這是我需要澄清的地方。
正則表達式不工作的情況下塞納里奧:
var ipRE = new RegExp('^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$');
正則表達式的工作情況塞納里奧
var ipRE = new RegExp('^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$');
您顯示的正則表達式不會暴露您描述的問題。發佈代碼*實際上*使用,甚至更好,首先嚐試自己發現差異。 – Tomalak 2013-03-11 10:14:00
這個正則表達式完美地工作。 – hank 2013-03-11 10:16:11
所以你*實際上有*工作代碼,現在粘貼破碎的代碼,所以你可以問一個問題?那應該完成什麼?你爲什麼不問你真正想問的問題? – Tomalak 2013-03-11 10:21:12