2010-01-22 20 views

回答

1

这应该会好一点:

/^.*docId=(\d+)$/

这所有字符匹配到“的docId =”,然后给你所有的数字,直到url的结尾。

+0

非常感谢。 – Marc 2010-01-22 23:27:57

+0

我发现这个更好地工作eben: 新regExp(/.* docid =([\ d - ] +)(。*?)/我) 但谢谢! – Marc 2010-03-04 15:31:10

0
url.replace(/.*docId=(\d{19}).*/i,"$1"); 

这削减了19个数字,后面跟着docId=

+0

非常感谢。这是开箱即用的。 – Marc 2010-01-22 23:27:24

0
video[.]google[.]com/googleplayer[.]swf[?]docId=(\d+) 

该ID将在参考#1中捕获。如果你只是想匹配19位,您可以在机会来此:

video[.]google[.]com/googleplayer[.]swf[?]docId=(\d{19}) 
+0

非常感谢您的回答! – Marc 2010-01-22 23:33:35

0

这里是我在我们的应用程序中读取url参数的函数。到目前为止,它没有让我失望;)

urlParam:function(name, w){ 
    w = w || window; 
    var rx = new RegExp('[\&|\?]'+name+'=([^\&\#]+)'), 
     val = w.location.href.match(rx); 
    return !val ? '':val[1]; 
} 

对于正则表达式的解释:

  • |采取的查询字符串的任意开始[\ & \?] '?'或间参数“&”
  • “姓名”分离将你的情况
  • ([^ \ &#] +)采取不&和#任何字符是参数“的DocID”的名称。
    散列键常用于一个页面的应用程序。
    而括号保留内容的参考。
  • VAL将是一个阵列或空/未定义和val [1]的值你正在寻找