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;
}
if (checkIP.Match(ipAddr).Success )
{
return true;
}
else
{
return false;
}
解决方案 »
- 本人菜鸟跪求解答真心希望大侠能帮帮,c#串口通信程序连接两台计算机。程序是网上下载的,运行没问题,可是好像用不了,不知道问题出在哪里,真心希望各位大侠可以帮帮我
- XML数据导入SQL的问题
- [Silverlight]中那个控件有圆角属性且能包含MediaElement控件?谢谢!
- 为什么很少公司用C#进行C/S开发,都是作为脚本进行B/S开发?
- 在ToolBar控件里有多个用户按钮,想点击按钮时,在Panel里显示用户控件出现问题
- 一个很重要的问题
- 请教修改注册表后不用重启就能实现的效果的代码或者方法
- C#中怎么用循环法把数据库中的数据写入TreeView?
- 用System.Web.Mail发送邮件的问题
- 高分相送:谁能给出一个用TreeView控件显示XML文件的结构的例子?
- 关于数据类型转换的问题。
- 在c#.net中,如何读取xml中节点的值?急!!
{
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;
}
}
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);
}
}
}