场景
Winform程序中,需要配置http接口地址以及mqtt协议的ip地址,需要对http接口地址以及ip地址字符串
的格式进行合法性校验。
注:
博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
实现
1、新建校验工具类FormatCheckHelper
using System;
using System.Text.RegularExpressions;
namespace DataConvert.com.bdtd.dataconvert
{
public class FormatCheckHelper
{
public static bool IsHttpUrl(string str_url)
{
Uri uriResult;
bool result =
Uri.TryCreate(str_url, UriKind.Absolute, out uriResult)
&&
uriResult.Scheme == Uri.UriSchemeHttp;
return result;
}
public static bool IsHttpsUrl(string str_url)
{
Uri uriResult;
bool result =
Uri.TryCreate(str_url, UriKind.Absolute, out uriResult)
&&
uriResult.Scheme == Uri.UriSchemeHttps;
return result;
}
public static bool IsIPUrl(string str_ip)
{
//模式字符串,正则表达式
string patten = @"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
//验证
return Regex.IsMatch(str_ip, patten);
}
}
}
上面三个方法分别是对http地址格式校验、https地址格式校验、ip地址格式校验。
测试
bool b = FormatCheckHelper.IsHttpUrl("12325");
bool a = FormatCheckHelper.IsHttpUrl("http://119.156.123.158:9092");
bool c = FormatCheckHelper.IsHttpsUrl("https://119.156.123.158:9092");
bool d = FormatCheckHelper.IsHttpUrl("http://119.156.123.158");
bool f = FormatCheckHelper.IsIPUrl("45454");
bool g = FormatCheckHelper.IsIPUrl("fgghf");
bool h = FormatCheckHelper.IsIPUrl("127.0.0.1");
bool i = FormatCheckHelper.IsIPUrl("192.168.1.2");
bool j = FormatCheckHelper.IsIPUrl("127.0.0");
bool k = FormatCheckHelper.IsIPUrl("999.225.256.68");
注意对于Ip地址的校验,这里使用的正则表达式进行校验。
网上也有使用
using System.Net;
string ipStr="192.168.222.333";
IPAddress ip;
if(IPAddress.TryParse(ipStr,out ip))
{
Console.WriterLine("合法IP");
}
else
{
Console.WriterLine("合法IP");
}
该种方式进行验证合法性的,但是会在输入数字时有偏差。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135812.html