验证规则处理

时间:2019-07-17 07:52:13

标签: c# asp.net regex

我需要帮助,以便在C#,asp.net中为以下内容创建正则表达式

  • 字段至少应包含4个字符(字母或数字或特殊字符-点(。)逗号(,)短划线(-))
  • 同一字符不应连续重复3次或更多次。例如。不应输入“ aaa”,“ 111”。
  • 不应是3个或更多连续的字母。例如。 “ 123”,“ abc”

这是我尝试过的:

    Regex regex = new Regex(@"^(?=.{4,}$)(([\w\W])\2?(?!\2))+$");
    Match matchRepeatedChars = regex.Match(OtherDetails);

    regex = new Regex(@"^(?=.*\d)(?=.*[a-zA-Z]).{4,}$");
    Match matchAlphaNumeric = regex.Match(OtherDetails);

    regex = new Regex(@"(?=.*?[!#$%&()*+,-.:;=?@\[\]\^_~{}|])");
    Match matchSpecielSpecialChar = regex.Match(OtherDetails);

    //check consecutive characters
    bool passwordHasConsecutivechars = false;
    byte[] _byte = System.Text.Encoding.ASCII.GetBytes(OtherDetails.ToLower());
    for (int i = 0; i < _byte.Length - 2; i++)
    {
        if ((_byte[i] + 1 == _byte[i + 1] && _byte[i] + 2 == _byte[i + 2]) || (_byte[i] - 1 == _byte[i + 1] && _byte[i] - 2 == _byte[i + 2]))
        {
            passwordHasConsecutivechars = true;
            break;
         }
    }

0 个答案:

没有答案