System.Text.RegularExpressions.Regex  checkIP=new System.Text.RegularExpressions.Regex(@"\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b");
if (checkIP.Match(ipAddr).Success )
{
return true;
}
else
{
return false;
}

解决方案 »

  1.   

    不懂啊 ,daguzhang(MoonWell)能不能讲的再详细点啊
      

  2.   

    www.codeproject.com上面好像有这样的控件
      

  3.   

    http://community.csdn.net/Expert/topic/3382/3382616.xml?temp=.9409601
      

  4.   

    private bool IsValid(string str)
    {
    if(str != "")
    {
    if(str[0] !='.')
    {
    if(str.IndexOf(".") != -1)
    {
    string[] strings = str.Split(".".ToCharArray());
    if(strings.Length <= 4)
    {
    for( int i = 0; i< strings.Length ; i++)
    {
    if(strings[i] != "" && i != strings.Length-1)
    {
    int length = strings[i].Length;
    if(length <= 3)
    {
    int number = Convert.ToInt32(strings[i]);
    number = number * (int)Math.Pow(10.0,(double)(3 - length));
    if(number < 0 || number > 255)
    return false;
    }
    else
        return  false;

    }
    else if(strings[i] != "" && i ==strings.Length-1)
    {
    int length = strings[i].Length;
    if(length <= 3)
    {
    int number = Convert.ToInt32(strings[i]);
    number = number * (int)Math.Pow(10.0,(double)(3 - length));
    if(number >=0 && number <= 255)
    return true;
    else
    return false;
    }
    else
    return false;
    }
    else if(strings[i] == "" && i == strings.Length-1)
    return true;
    else 
    return false;

    }
    }
    else
    return false;
    }
    else
    {
    int length = str.Length;
    if(length <= 3)
    {
    int number = Convert.ToInt32(str);
    number = number * (int)Math.Pow(10.0,(double)(3 - length));
    if(number >=0 && number <= 255)
    return true ;
    else
    return false;
    }
    else
    return false;
    }
    }
    else
    return false;
    }
    return false;  
    }
    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
        string stringByNow = this.textBox1.Text.Trim();
    if(e.KeyChar != (char)8)
    {
    stringByNow += e.KeyChar.ToString();
    }
    if ( (e.KeyChar > (char)47 && e.KeyChar < (char)58 || e.KeyChar ==(char)8 ||e.KeyChar==(char)46)&&IsValid(stringByNow))
    {
    e.Handled = false;
    }
    else
    {
    e.Handled = true;
    }
    }
      

  5.   

    做成了控件,从TextBox继承
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Windows.Forms;namespace IPAddress
    {
    /// <summary>
    /// UserControl1 的摘要说明。
    /// </summary>
    public class UserControl1 : TextBox
    {
    /// <summary> 
    /// 必需的设计器变量。
    /// </summary>
    private System.ComponentModel.Container components = null;
    private bool addDot = false;
    private int dotCount = 0;
    public UserControl1()
    {
    // 该调用是 Windows.Forms 窗体设计器所必需的。
    InitializeComponent(); // TODO: 在 InitializeComponent 调用后添加任何初始化 } /// <summary> 
    /// 清理所有正在使用的资源。
    /// </summary>
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if(components != null)
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    } #region 组件设计器生成的代码
    /// <summary> 
    /// 设计器支持所需的方法 - 不要使用代码编辑器 
    /// 修改此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
    // 
    // UserControl1
    // 
    this.Name = "";
    this.Text = "";

    }
    #endregion
    private bool IsValid(string str)
    {
    if(str != "")
    {
    if(str[0] !='.')
    {
    if(str.IndexOf(".") != -1)
    {
    string[] strings = str.Split(".".ToCharArray());
    if(strings.Length <= 4)
    {
    for( int i = 0; i< strings.Length ; i++)
    {
    if(strings[i] != "" && i != strings.Length-1)
    {
    int length = strings[i].Length;
    if(length <= 3)
    {
    int number = Convert.ToInt32(strings[i]);
    number = number * (int)Math.Pow(10.0,(double)(3 - length));
    if(number < 0 || number > 255)
    {
    if(length == 3)
    addDot = true;

    return false;
    }
    }
    else
    return  false;

    }
    else if(strings[i] != "" && i ==strings.Length-1)
    {
    int length = strings[i].Length;
    if(length <= 3)
    {
    int number = Convert.ToInt32(strings[i]);
    number = number * (int)Math.Pow(10.0,(double)(3 - length));
    if(number >=0 && number <= 255)
    {
    if(length == 3)
    addDot = true;

    return true;
    }
    else
    return false;
    }
    else
    return false;
    }
    else if(strings[i] == "" && i == strings.Length-1)
    return true;
    else 
    return false;

    }
    }
    else
    return false;
    }
    else
    {
    int length = str.Length;
    if(length <= 3)
    {
    int number = Convert.ToInt32(str);
    number = number * (int)Math.Pow(10.0,(double)(3 - length));
    if(number >=0 && number <= 255)
    {
    if(length == 3)
    addDot = true;

    return true ;
    }
    else
    return false;
    }
    else
    return false;
    }
    }
    else
    return false;
    }
    return false;  
    }
    protected override void OnKeyPress(KeyPressEventArgs e)
    {
    string stringByNow = this.Text.Trim();
    if(e.KeyChar != (char)8)
    {
    stringByNow += e.KeyChar.ToString();

    }
    if(stringByNow !="")
    if(stringByNow[0] !='.')
    {
    if(stringByNow.IndexOf(".") != -1)
    dotCount = stringByNow.Split(".".ToCharArray()).Length -1;
    else
    dotCount = 0;
    }

    if( e.KeyChar ==(char)8)
    {
    addDot = false;
    e.Handled = false;
    }
    else if ( (e.KeyChar > (char)47 && e.KeyChar < (char)58 || e.KeyChar ==(char)8 ||e.KeyChar ==(char)46 )&&IsValid(stringByNow))
    {

    //e.Handled = false;
    e.Handled = false;
    if(addDot)
    {
    if(dotCount <3)
    {

    this.AppendText(e.KeyChar.ToString());
    this.AppendText(".");
    e.Handled = true;
    addDot = false;
    // dotCount++;
    }
    }


    }
    else 
    {

    e.Handled = true;
    }
    base.OnKeyPress(e);

    }
       
    }

    }
      

  6.   

    http://community.csdn.net/Expert/topic/3384/3384225.xml?temp=.5453607
      

  7.   

    勿忘国耻 抵制日货&up