(原創) 如何檢查是否為合法IP? (.NET) (C++/CLI) (C/C++) (Reqular Expression)

Abstract
檢查是否為合法IP,不需hardcode了,透過Regular Expression,只要一行就可以。

Introduction
有網友Email問我如何用C++/CLI檢查IP,當然自己parse也可以,不過既然用了.NET平台,而.NET又支援Regular Expression,這種檢查的字串的程式,用Regular Expression是首選。

C++/CLI / CheckIP.cpp

 1/* 
 2(C) OOMusou 2006 http://oomusou.cnblogs.com
 3
 4Filename    : ChcekIP.cpp
 5Compiler    : Visual C++ 8.0 / C++/CLI
 6Description : Demo how to validate IP
 7Release     : 05/17/2007 1.0
 8*/

 9#include "stdafx.h"
10using namespace System;
11using namespace System::Text::RegularExpressions;
12
13bool isValidIP(String^ const% ip) {
14  Regex^ reg = gcnew Regex("\\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");
15  Match^ match = reg->Match(ip);
16  
17  return match->Success;
18}

19
20int main() {
21  String^ s1 = "140.290.1.1";
22  String^ s2 = "140.113.1.1";
23  
24  Console::WriteLine(isValidIP(s1));
25  Console::WriteLine(isValidIP(s2));
26}


執行結果

False
True


Reference
Sample Regular Expressions

posted on 2007-05-17 07:41  真 OO无双  阅读(1640)  评论(1编辑  收藏  举报

导航