如何让一个textbox只接受IP地址格式的字符串? 为什么textbox没有IP的属性呢?!呵呵 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 vc++中有这样的控件,可是c#中要自己写... 在文本框的KeyPress事件中写如下代码,防止输入数字和.以外的字符if((e.KeyChar<'0' || e.KeyChar >'9')&& e.KeyChar!='.'&& e.KeyChar!=(char)8 ){ e.Handled=true;}下面是校验函数。 bool checkip(string ip) { int i,j,k; if(ip.Length>15 || ip.Length<7) return false; for(i=0;i<3;i++) { j=ip.IndexOf(".",0); if(j==-1) return false; k=Convert.ToInt32(ip.Substring(0,j)); if(k<0||k>255) return false; if(k==0 && i==0) return false; ip=ip.Substring(j+1); } k=Convert.ToInt32(ip); if(k<0||k>255) { return false; } else { return true; } }我自己测试通过,呵呵不知道符不符合楼主的需求。 用正则表达式sing System.Text.RegularExpressions;Regex regex = new Regex( @"(?<First>[01]?\d\d?|2[0-4]\d|25[0-5])\.(?<Second>[01]?\d\d?|" + @"2[0-4]\d|25[0-5])\.(?<Third>[01]?\d\d?|2[0-4]\d|25[0-5])\.(?" + @"<Fourth>[01]?\d\d?|2[0-4]\d|25[0-5])(?x) #IP Addresses", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled ); using System.Text.RegularExpressions;private bool CheckIPAddr(string strAddr) { // //RegEx match pattern for IPAddress // string strPattern =@"^(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\." + @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\." + @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\." + @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])$"; //make RegEx with pattern Regex regex = new Regex(strPattern); //check input ipaddress match with pattern if (regex.IsMatch(strAddr)) { return true; } else { return false; } } using System.Text.RegularExpressions;private bool CheckIPAddr(string strAddr) { // //RegEx match pattern for IPAddress // string strPattern =@"^(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\." + @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\." + @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\." + @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])$"; //make RegEx with pattern Regex regex = new Regex(strPattern); //check input ipaddress match with pattern if (regex.IsMatch(strAddr)) { return true; } else { return false; } } 正则表达式[\d]{1-4}\.[\d]{1-4}\.[\d]{1-4}\.[\d]{1-4} 正则表达式[\d]{1-4}\.[\d]{1-4}\.[\d]{1-4}\.[\d]{1-4} 参考参考这个吧。http://www.codeproject.com/cs/miscctrl/IPAddressTextBox.asp 在线求教,关于动态设置图像分辨率的问题 【分享一个小程序】 关于WINDOWS窗体 控制台应用程序! 很偏门的问题,特来高手多多的c#版求教:如何动态给PropertyGrid1加载属性 问下关于C#的类型实现 C# winform运行报错,大家帮忙看看了 关于Pocket Pc中SDF数据库文件与PC交互的问题,百分求解决方法或方案!急!!! 关于pso条码扫描机 数据库的连接 帮帮我吧,高手们!!我真的不知道怎么转换这个东西了!!!已经是第二次发了!! 关于向数据库提交数据的问题! 这样的switch语句怎么写?
if((e.KeyChar<'0' || e.KeyChar >'9')&& e.KeyChar!='.'&& e.KeyChar!=(char)8 )
{
e.Handled=true;
}下面是校验函数。
bool checkip(string ip)
{
int i,j,k;
if(ip.Length>15 || ip.Length<7) return false;
for(i=0;i<3;i++)
{
j=ip.IndexOf(".",0);
if(j==-1) return false;
k=Convert.ToInt32(ip.Substring(0,j));
if(k<0||k>255) return false;
if(k==0 && i==0) return false;
ip=ip.Substring(j+1);
}
k=Convert.ToInt32(ip);
if(k<0||k>255)
{
return false;
}
else
{
return true;
}
}我自己测试通过,
呵呵
不知道符不符合楼主的需求。
sing System.Text.RegularExpressions;Regex regex = new Regex(
@"(?<First>[01]?\d\d?|2[0-4]\d|25[0-5])\.(?<Second>[01]?\d\d?|"
+ @"2[0-4]\d|25[0-5])\.(?<Third>[01]?\d\d?|2[0-4]\d|25[0-5])\.(?"
+ @"<Fourth>[01]?\d\d?|2[0-4]\d|25[0-5])(?x) #IP Addresses",
RegexOptions.IgnoreCase
| RegexOptions.Multiline
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);
{
//
//RegEx match pattern for IPAddress
//
string strPattern =@"^(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\."
+ @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\."
+ @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\."
+ @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])$";
//make RegEx with pattern
Regex regex = new Regex(strPattern);
//check input ipaddress match with pattern
if (regex.IsMatch(strAddr))
{
return true; }
else
{
return false;
}
}
{
//
//RegEx match pattern for IPAddress
//
string strPattern =@"^(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\."
+ @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\."
+ @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])\."
+ @"(\d{1,2}|[01]?\d\d|2[0-4]\d|25[0-5])$";
//make RegEx with pattern
Regex regex = new Regex(strPattern);
//check input ipaddress match with pattern
if (regex.IsMatch(strAddr))
{
return true; }
else
{
return false;
}
}
[\d]{1-4}\.[\d]{1-4}\.[\d]{1-4}\.[\d]{1-4}
[\d]{1-4}\.[\d]{1-4}\.[\d]{1-4}\.[\d]{1-4}
http://www.codeproject.com/cs/miscctrl/IPAddressTextBox.asp