部分社会信息号码字符合法化验证的C#正则表达式

以下表达式均为基于整个目标字符串的匹配


中国内地电话号码(可不含区号)

^(\d{3,4}-)?\d{7,8}$


中国内地手机号码

^[1]+[3,5,8]+\d{9}$


中国内地邮政编码

^\d{6}$


中国内地身份证号码

^(\d{15}$|^\d{18}$|^\d{17}[\dXx]{1})$


Email地址

^[\\w!#$%&'*+/=?'{|}~^-]+(?:\\.[!#$%&'*+/=?'{|}~^-]+)*@(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,6}$


URL

^(((http|https|ftp|file)://)?((www|ftp)\\.)?)([a-z0-9!@#%&+=\\.]+)((/[a-z0-9!@#%&+-=\\.]+)+)?(\\.[A-Za-z]{2,6})$


IP地址

IPv4

^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

IPv6

^(?:[A-F0-9]{1,4}:){6}(?:[A-F0-9]{1,4}:[A-F0-9]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$


需在开头添加using System.Text.RegularExpressions;

用法举例

	/// <summary>
        /// 判断是否是IP地址
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public bool IsIPAddress(string str)
        {
            bool isIPAddress = false;

            // IPv4
            if (Regex.IsMatch(str, "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"))
                isIPAddress = true;
            // IPv6
            else if (Regex.IsMatch(str, "^(?:[A-F0-9]{1,4}:){6}(?:[A-F0-9]{1,4}:[A-F0-9]{1,4}|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$"))
                isIPAddress = true;

            return isIPAddress;
        }


当然啦,这还有很多要改进的地方~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值