试试这个?
alert(/<(.*)>.*<\/.>/.test("<ahref=sfd>afd</a>"));

解决方案 »

  1.   

    第一个表达式:
    (/<(.*)>.*<\/\1>/里的\1为ahref=sfd,因此只能匹配("<ahref=sfd>afd</aahref=sfd>
    第二个表达式:
    可以匹配任何类似<XXX>YYY</ZZZ>的东东,XXX可以不等于ZZZ
      

  2.   

    对不起,打错了,应该是:
    alert(/<(.*)>.*<\/\1>/.test("<a href=sfd>afd</a>"));//这里可来自帮助文档
    alert(/<(.*)>.*<\/(.*)>/.test("<a href=sfd>afd</a>")); 你们试一世就知道了
      

  3.   

    我认为奇怪的是第一个:我认为\1表示'a',但为什么返回false呢
      

  4.   

    sunbeamy说了啊
    (/<(.*)>.*<\/\1>/里的\1为a href=sfd,因此只能匹配<a href=sfd>afd</a ahref=sfd>
    就是说,如果标记里面带有属性设置,就没法检测了
      

  5.   

    那你认为此时第一次匹配是什么呢?根本不可能为'a'而仍然是'a herf=sfd'
      

  6.   

    如果\1表示'a href=sfd',那岂不是帮助文档提供的那个表达式有问题,不能准确匹配一个html标记下面这个可以吗:
    alert(/<([a-z]+) (.*)>.*<\/\1>/i.test("<a href=sfd>afd</a>"))
      

  7.   

    帮助里的当然错了
    alert(/<(.*)>.*<\/\1>/.test("<></>"));  //will be true
    "<></>"根本不是一个合法的tag
      

  8.   

    哎,又被帮助文档误导了。还是从微软网站下载的呢
    TMD
      

  9.   

    alert(/<([a-z]+)\s(.*)>.*<\/\1>/i.test("<aa href=sfd>afd</aa>"));
    这个应该可以吧
      

  10.   

    呵呵,帮助文档也不是绝对正确的。
    alert(/<(.+)\s*.*>.*<\/\1>/.test("<a></a>"))            //true
    alert(/<(.+)\s*.*>.*<\/\1>/.test("<b></a>"))            //false
    alert(/<(.+)\s*.*>.*<\/\1>/.test("<a href=url></a>"))   //true
    alert(/<(.+)\s*.*>.*<\/\1>/.test("<></>"))              //false