HI!
我使用以下正则表达式与JS从该URL中提取此id 6321890784249785097
http://video.google.com/googleplayer.swf?docId=6321890784249785097
url.replace(/^[^\$]+.(.{19}).*/,"$1");
但我只从尾巴上切下最后19个字符。我怎样才能更加防弹?也许有一个解释,以便我学到一些东西?
答案 0 :(得分:1)
这应该会更好一点:
/^.*docId=(\d+)$/
这会匹配“docId =”之前的所有字符,然后在网址结尾处为您提供所有数字。
答案 1 :(得分:0)
url.replace(/.*docId=(\d{19}).*/i,"$1");
这会减少docId=
后的19位数字。
答案 2 :(得分:0)
video[.]google[.]com/googleplayer[.]swf[?]docId=(\d+)
ID将在参考文献#1中捕获。如果您只想匹配19位数字,您可以将其置于此:
video[.]google[.]com/googleplayer[.]swf[?]docId=(\d{19})
答案 3 :(得分:0)
这是我在我们的应用程序中用于读取url参数的函数。到目前为止它并没有让我失望;)
urlParam:function(name, w){
w = w || window;
var rx = new RegExp('[\&|\?]'+name+'=([^\&\#]+)'),
val = w.location.href.match(rx);
return !val ? '':val[1];
}
关于正则表达式的解释: