在javascript中使用正则表达式的最后一个斜杠后抓取URL的结尾

时间:2015-05-04 15:56:44

标签: javascript jquery regex

我需要能够获取网址末尾的数字,并将其设置为文本框的值。我有以下内容,但它没有正确地删除最后一个斜杠之前的URL的开头。相反,它正好相反。

rdd.foreachPartition{iter =>
  // prepare connection
  Stuff.connect(...)
  // add elements
  iter.foreach(elem => Stuff.add(elem))
  // submit
  Stuff.commit()
}

在这种情况下,正则表达式匹配的结果应将文本框的值设置为<input id="imageid"></input> var referrerURL = "http://subdomain.xx-xxxx-x.xxx.url.com/content/assets/750"; var assetID = referrerURL.match("^(.*[\\\/])"); $("#imageid").val(assetID);

JSFiddle:Link

3 个答案:

答案 0 :(得分:7)

简单的方法是使用否定的字符类

/[^\/]*$/

http://jsfiddle.net/NmvA9/7743/

示例

var referrerURL = "http://subdomain.xx-xxxx-x.xxx.url.com/content/assets/750";
alert(referrerURL.match(/[^\/]*$/));
// Output
// => 750

答案 1 :(得分:1)

可以使用简单的split()然后pop()生成的数组

var assetID = referrerURL.split('/').pop();

比正则表达式更容易阅读,因此非常清楚它正在做什么

DEMO

答案 2 :(得分:1)

&#13;
&#13;
var referrerURL = "http://subdomain.xx-xxxx-x.xxx.url.com/content/assets/750";
var myregexp = /.*\/(.*?)$/;
var match = myregexp.exec(referrerURL);
$("#imageid").val(match[1]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="imageid"></input>
&#13;
&#13;
&#13;