如题所示:function GetJsParam(paramName)   
{   
var reg = new RegExp("(^|\\?|&)"+ paramName+"=([^&]*)(\\s|&|$)", "i");
if (reg.test($("globaljs").src))
{
return RegExp.$2;
}
else
{
return "";
}
}
这个函数到底实现什么功能啊?

解决方案 »

  1.   

    获取参数
    例如<script type="text/javascript=" id="globaljs" src="test.js?id=a&val=123"></script>GetJsPara(id) // return a
      

  2.   

    这个表达式分开来讲各部分是什么意思啊?
    (^|\\?|&)
    匹配一个&符号或者一个反斜杠和问号?
    [^|a]和[a|$]这种情况下会匹配什么啊?
      

  3.   

    [^|a]非|a的字符
    [a|$]匹配a和$
      

  4.   

    这个表达式分开来讲各部分是什么意思啊? 
    (^|\\?|&) 
    匹配一个&符号或者一个反斜杠和问号? 
    [^|a]和[a|$]这种情况下会匹配什么啊?
      

  5.   

    RegExp("(^|\\?|&)"+ paramName+"=([^&]*)(\\s|&|$)", "i");(^|\\?|&) -> 匹配以paramName开头,或paramName前面是?或&([^&]*) -> 匹配一个字符串,不能包含&(\\s|&|$) -> 后面可以是空字符或 & 或没有
    呵呵,我的理解 
      

  6.   

    哎,你都掌柜了,还只发布5分贴汗!
    (^|\\?|&) -> 匹配以paramName开头,或paramName前面是?或& ([^&]*) -> 匹配0个以上的非&字符 (\\s|&|$) -> 后面可以是空字符或 & 或没有 [^|a]非|a的字符 
    [a|$]匹配a和$