我需要一个只允许IP地址的文本框。我可以在一个Web应用程序中创建它,但是我无法在Windows应用程序中执行此操作。请帮我做..文本框只允许在Windows应用程序的IP地址
1
A
回答
2
使用此方法来验证IP
public bool IsValidIP(string addr)
{
//create our match pattern
string pattern = @"^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.
([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$";
//create our Regular Expression object
Regex check = new Regex(pattern);
//boolean variable to hold the status
bool valid = false;
//check to make sure an ip address was provided
if (addr == "")
{
//no address provided so return false
valid = false;
}
else
{
//address provided so use the IsMatch Method
//of the Regular Expression object
valid = check.IsMatch(addr, 0);
}
//return the results
return valid;
}
1
你可以使用一个ASP.NET Regular Expression Validator
:
<asp:RegularExpressionValidator ID="regexpName" runat="server"
ErrorMessage="This expression does not validate."
ControlToValidate="yourTextBox"
ValidationExpression="RegEx here" />
然后设置ValidationExpression
于:(只允许IP地址)
\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]?)\
+0
我想在Windows应用程序不为web .. – Amulraj
+0
@Amulraj你可以使用yourTextBox_Validating事件来捕获这个,然后使用我提供的正则表达式。 http://msdn.microsoft.com/en-us/library/system.windows.forms.control.validating.aspx –
1
这里。 如果你最终得到4个字节(如0-255范围内的数字),那么将文本按点分割,这是一个有效的IP。
bool IsTextAValidIPAddress(string text)
{
bool result = true;
string[] values = text.Split(new[] { "." }, StringSplitOptions.None); //keep empty strings when splitting
result &= values.Length == 4; // aka string has to be like "xx.xx.xx.xx"
if(result)
for (int i = 0; i < 4; i++)
result &= byte.TryParse(values[i], out temp); //each "xx" must be a byte (0-255)
return result;
}
或者,如果你能/想利用System.Net
bool IsTextAValidIPAddress(string text)
{
System.Net.IPAddress test;
return System.Net.IPAddress.TryParse(text,out test);
}
相关问题
- 1. 文本框只允许IP地址无需验证,直到IP被写入C#
- 2. 只允许某些IP地址在Laravel注册用户5.2
- 3. 如何在Magento启用只允许IP地址
- 4. iOS应用程序传输安全:允许Info.plist中的某些IP地址
- 5. 的MySQL允许从多个IP地址
- 6. 只允许从IP地址调用mvc web api
- 7. ufw只允许从我的IP地址访问mongo(IPv6)
- 8. 只允许从node.js中的特定IP地址访问目录
- 9. 文本框只允许使用字母
- 10. 只允许在文本框C#数字
- 11. Cocoa应用程序的IP地址
- 12. IP地址文本框用户控件
- 13. https适用于本地IP地址,但不适用于带本地IP地址的应用程序端口
- 14. 只允许文本框中的整数
- 15. 允许apigee只从一个IP地址控制台
- 16. PHP和HTML表格只允许发布IP地址
- 17. 密码保护,只允许一个IP地址访问目录?
- 18. PHP:同时只允许两个IP地址
- 19. 停止IP地址和子域名,只允许域名
- 20. AWS IAM策略 - 允许从IP地址并允许Firehose
- 21. 确定P2P应用程序中的本地IP地址
- 22. 使用即时应用程序连接到本地IP地址
- 23. IP地址的掩码文本框
- 24. CSS:background-image网址 - 只允许本地文件?
- 25. 文本框掩码只允许数字
- 26. 文本框只允许浮点数
- 27. Android应用程序打印文档在特定的IP地址
- 28. 通过只输入IP地址,打开应用程序
- 29. 通过IP地址服务的Zend框架应用程序
- 30. Windows Store应用程序(C#/ Xaml)检索IP地址
试试这个[IP-文本框(http://www.codeproject.com/Articles/11576/IP-TextBox) – PresleyDias
所以...它是一个Windows应用程序(Winforms,WCF,Silverlight)或Web应用程序(ASP.NET,ASP.NET MVC,...)...只是一个原因*** ASP.NET Windows应用程序* **,有点混乱...... – balexandre
根据对Darren的问题的评论(删除asp.net)进行编辑。 –