我是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