场景
Winform程序中,需要配置http接口地址以及mqtt协议的ip地址,需要对http接口地址以及ip地址字符串
的格式进行合法性校验。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
实现
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"); }
该种方式进行验证合法性的,但是会在输入数字时有偏差。 标签:Http,ip,IP地址,校验,FormatCheckHelper,地址,bool,CSharp,IsIPUrl From: https://www.cnblogs.com/badaoliumangqizhi/p/17226072.html