2

我需要编辑我的脚本才能得到ref = '521590819123';

如何 ?

<script type="text/javascript">
var ref = "http://www.site.ru/profile/521590819123";
if( ref.indexOf('profile') >= 0 ) {
  ref = String(ref).substr(ref.indexOf('profile'));
}
alert(ref);
 </script>
4

4 回答 4

2

无需使用正则表达式:

var tokens = ref.split('/');
var whatyouwant = tokens[tokens.length-1];

示范

如果你真的想使用正则表达式,你可以这样做

var whatyouwant = /([^\/]+$)/.exec(ref)[0];

示范

于 2012-11-08T12:01:00.483 回答
0

只需将 indexof 更改为 LastIndexOf

ref = String(ref).substr(ref.lastIndexOf('/')+1);
于 2012-11-08T12:01:23.540 回答
0

使用lastIndexOf

<script type="text/javascript">
  var ref = "http://www.site.ru/profile/521590819123";
  if( ref.indexOf('profile') >= 0 ) {
    ref = ref.substr(ref.lastIndexOf('/') + 1);
  }
  alert(ref);
</script>

见这里:http: //jsfiddle.net/CFeVV/

于 2012-11-08T12:02:00.570 回答
0

如果您想通过正则表达式解决此任务,请使用:

 ref = ref.replace(/^.*\/(\d+)$/g, "$1")
于 2012-11-08T12:06:42.547 回答