【发布时间】:2011-10-05 03:34:48
【问题描述】:
我正在做一个使用 IP 地址的应用程序。我必须验证它们至少从 1.0.0.1 开始,但下面的代码接受 0.0.0.0:
\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
我也试过改成:
\b(25[0-5]|2[0-4][0-9]|[01]?[1-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
此代码不接受 0.0.0.0 但也不接受 100.0.0.0 到 109.0.0.0。
有人可以帮忙吗?
【问题讨论】:
-
请学习如何正确格式化您的问题。
-
-1 没有解释你正在使用正则表达式(如果是这样的话)。什么是“bt”?为什么格式这么差?阅读:stackoverflow.com/editing-help
-
使用正则表达式进行这种验证似乎不必要地耗费脑力。为什么不按
.拆分并以更传统的方式验证 IP 地址的每个部分? -
@spender, @ba_friend:为什么不帮助编辑帖子以改进格式,而不仅仅是抱怨?你们都有代表来帮忙!
-
但它真的需要为-1吗?这肯定是笔记的用途吗?您培养并获取信息,100 分低的人不会立即知道该站点是如何工作的。帮助他们成长并成为社区的一部分。我马上就离开我的肥皂盒。我认为这是一个持续的争论。我会看看这是否在meta上。我知道作为一个社区网站,我们对内容负责,但是对于一个年轻的人来说,他们甚至在他们开始之前就被 -2 标记了。我们应该如何以如此苛刻的理想发展社区。今天培养一个菜鸟。你会感觉好多了。
标签: c# regex validation ip ip-address