验证一字符串,这个字符串可以出现的字符为“_-.@”和数字与英文字母并不是email地址,所有的字符出现不出现都行,但不能出现范围以外的字符。总长度为10到20

解决方案 »

  1.   

    [\_\-\.\@0-9a-zA-Z]{10,20}
    这个可以一试
      

  2.   


    最普通的写法
    ^([0-9]|[a-zA-Z]|\_|\-|\@|\.){10 20}$
      

  3.   


    //在C#中
    //@"^[0-9a-zA-Z|_|\-|\.|\@]{10,20}$"string source = @"@_-s1.@_-s1.";
    //在C#中\w匹配汉字  在Js中不匹配
    string pattern = @"^[0-9a-zA-Z|_|\-|\.|\@]{10,20}$";
    Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
    Match m = regex.Match(source);if (m.Success)
    {
        MessageBox.Show("匹配");
    }
    else
    {
        MessageBox.Show("不匹配");
    }\"^[\w|\.|\@|\-]{10,20}"\