数字,字母,下划线,中划线后缀必须是.html或者.htm
if (str != null && Regex.IsMatch(str, @"^[a-zA-Z0-9-\_\.\/]+(.html|.htm)"))
        {
            xyz = str;
        }这样写怎么不对了?在JS里这个正则是好使的.到程序里就不灵了呢?

解决方案 »

  1.   

    后面两个点,应该也转义一次吧
    (\.html|\.htm)
      

  2.   

    前面的.都用了转义符
    后面的 .html .htm中的.怎么不用了呢. @"^[-a-zA-Z0-9_./]+(\.html|\.htm)"))
      

  3.   

    是整个输入的内容只能有一个 . 点比如我输入a.se.s.html这样也可以了也就是除了.html或者.htm以外..前面不允许有任何的.出现在后缀之前只能是数字,字母,下划线,中划线 其他的一律不能输入