.NET写的过程中总结的正则表达式

    //验证用户输入的字符串中时候只含有数字或字母,汉字
    bool IsValidString(string strIn)
    {
        return Regex.IsMatch(strIn, @"^[A-Za-z0-9/u4e00-/u9fa5]");
    }
    //验证电子邮件
    bool IsValidEmail(string strIn)
    {
        return Regex.IsMatch(strIn, @"^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)");
    }
    //验证用户输入的字符串中时候只含有数字或字母
    bool IsValidString2(string strIn)
    {
        return Regex.IsMatch(strIn, @"^[A-Za-z0-9]");
    }
    /// <summary>
    /// 判断密码
    /// </summary>
    /// <param name="PassWord"></param>
    /// <returns></returns>
    public static bool IsValidPassWord(string PassWord)
    {
        return Regex.IsMatch(PassWord, @"^(/w){6,20}");
    }
    /// <summary>
    /// 判断电话/传真
    /// </summary>
    /// <param name="Tel"></param>
    /// <returns></returns>
    public static bool IsValidTel(string Tel)
    {
        return Regex.IsMatch(Tel, @"^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})");
    }
    /// <summary>
    /// 判断手机
    /// </summary>
    /// <param name="Mobil"></param>
    /// <returns></returns>
    public static bool IsValidMobil(string Mobil)
    {
        return Regex.IsMatch(Mobil, @"^(/d)+[-]?(/d){6,12}");
    }
    /// <summary>
    /// 邮政编码
    /// </summary>
    /// <param name="Zip"></param>
    /// <returns></returns>
    public static bool IsValidZip(string Zip)
    {
        return Regex.IsMatch(Zip, @"^[a-z0-9 ]{3,12}");
    }
    /// <summary>
    /// 判断日期
    /// </summary>
    /// <param name="Date"></param>
    /// <returns></returns>
    public static bool IsValidDate(string Date)
    {
        bool bValid = Regex.IsMatch(Date, @"^[12]{1}(/d){3}[-][01]?(/d){1}[-][0123]?(/d){1}");
        return (bValid && Date.CompareTo("1753-01-01") >= 0);
    }
    //判断整型
    public static bool IsValidInt(string Int)
    {
        return Regex.IsMatch(Int, @"^[1-9]{1}[0-9]{0,6}");
    }
    /// <summary>
    /// 判断只能输字母
    /// </summary>
    /// <param name="EnName"></param>
    /// <returns></returns>
    public static bool IsValidEnName(string EnName)
    {
        return Regex.IsMatch(EnName, @"[a-zA-Z]");
    }
    //去除输入的字符串中不合法的<>/"'%;()&
    private string SanitizeInput(string input)
    {
        Regex badCharReplace = new Regex(@"^([<>""'%;()&])");
        string goodChars = badCharReplace.Replace(input, "");
        return goodChars;
    }
    //用正则表达式过滤脚本
    public string wipeScript(string html)
    {
        Regex regex1 = new Regex(@"<script[/s/S]+</script *>", RegexOptions.IgnoreCase);
        Regex regex2 = new Regex(@"href *= *[/s/S]*script *:", RegexOptions.IgnoreCase);
        Regex regex3 = new Regex(@"on[/s/S]*=", RegexOptions.IgnoreCase);
        Regex regex4 = new Regex(@"<iframe[/s/S]+</iframe *>", RegexOptions.IgnoreCase);
        Regex regex5 = new Regex(@"<frameset[/s/S]+</frameset *>", RegexOptions.IgnoreCase);
        html = regex1.Replace(html, ""); //过滤<script></script>标记 
        html = regex2.Replace(html, ""); //过滤href=javascript: (<A>) 属性 
        html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件 
        html = regex4.Replace(html, ""); //过滤iframe 
        html = regex5.Replace(html, ""); //过滤frameset 
        return html;
    }
    //对输入的字符串是否含有<script></script>判断
    public bool IsValidScript(string html)
    {
        return Regex.IsMatch(html, @"<script[/s/S]+</script *>");
    }
    //对输入的字符串是否含有href=javascript: (<A>)字符判断
    public bool IsValidJavascript(string html)
    {
        return Regex.IsMatch(html, @" href *= *[/s/S]*script *:");
    }
    //对输入的字符串是否含有on...事件判断
    public bool IsValidOn(string html)
    {
        return Regex.IsMatch(html, @" on[/s/S]*=");
    }
    //对输入的字符串是否含有iframe判断
    public bool IsValidiframe(string html)
    {
        return Regex.IsMatch(html, @"<iframe[/s/S]+</iframe *>");
    }
    //对输入的字符是否含有frameset判断
    public bool IsValidFrameset(string html)
    {
        return Regex.IsMatch(html, @"<frameset[/s/S]+</frameset *>");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值