将 <label id="lab" onclick="save()" onblur="kk()"> </label>替换为 <label id="lab" > </label> 
将标签的所有已on开头的函数替换为空 
求正则表达式!!!!!

解决方案 »

  1.   


    s = "<label id=\"lab\" onclick=\"save()\" onblur=\"kk()\"> </label>"
    s = s.replace(/\bon[^=]+=\s*(['"])[^\1]+\1/g, "");
    alert(s)
      

  2.   

    如果是在后台定义正则表达式为字符串应该怎么写呢?
       string oo=@"\bon[^=]+=\s*(['"])[^\1]+\1/g";
    这样是错误的啊!
      

  3.   

    试试看 "\\bon[^=]+=\\s*([\'\"])[^\\1]+\\1"
      

  4.   

    如果是一个字符串有多个怎么办?
    例如
    <label id=\"lab\" onclick=\"save()\" onblur=\"kk()\">asd </label><label id=\"lab1\" onclick=\"save()\" onblur=\"kk()\">asd </label><label id=\"lab2\" onclick=\"save()\" onblur=\"kk()\">asd </label>
    将每个lable的事件删除
      

  5.   


    @"(?i)(?<=<label\s+[^<>]*)on[^=]+=\s*([""']?)[^'""\s<>]+\1"
      

  6.   


    @"(?i)(?<=<label\s+[^<>]*)on[^=]+=\s*([""']?)[^'""\s<>]+\1"