删除某个角色后的所有内容

时间:2011-04-12 06:47:07

标签: javascript jquery

有没有办法删除某个角色后的所有内容,或者只选择该角色的所有内容?我从href获得了值,直到“?”,并且它总是会有不同数量的字符。

喜欢这个

/Controller/Action?id=11112&value=4444

我希望href只有/Controller/Action,所以我想在“?”之后删除所有内容。

我现在正在使用它:

 $('.Delete').click(function (e) {
     e.preventDefault();

     var id = $(this).parents('tr:first').attr('id');                
     var url = $(this).attr('href');

     console.log(url);
 }

9 个答案:

答案 0 :(得分:384)

var s = '/Controller/Action?id=11112&value=4444';
s = s.substring(0, s.indexOf('?'));
document.write(s);

Sample here

修改:

我还应该提一下,本机字符串函数比正则表达式快得多,正则表达式应该只在必要时使用(这不是其中一种情况)。

第二次编辑:

更新了无'?'的代码:

var s = '/Controller/Action';
var n = s.indexOf('?');
s = s.substring(0, n != -1 ? n : s.length);
document.write(s);

http://jsfiddle.net/L4hna/1/

答案 1 :(得分:229)

您还可以使用split()功能。这似乎是我脑海中最简单的一个:)。

url.split('?')[0]

jsFiddle Demo

一个优点是即使字符串中没有?,此方法也能正常工作 - 它将返回整个字符串。

答案 2 :(得分:15)

var href = "/Controller/Action?id=11112&value=4444";
href = href.replace(/\?.*/,'');
href ; //# => /Controller/Action

如果发现'?',这将有效如果它没有

答案 3 :(得分:1)

如果你还想留下“?”然后删除特定字符后的所有内容,你可以这样做:

var str = "/Controller/Action?id=11112&value=4444",
    stripped = str.substring(0, str.indexOf('?') + '?'.length);

// output: /Controller/Action?

答案 4 :(得分:1)

dump().onComplete {
  case result =>
    println(s"Dump result: $result")
    //driver.close()
}

输出将为var fromLeft = 8; var s = '/Verify/Action?id=11112&value=4444'; s = s.substring(fromLeft , s.indexOf('/')); alert(s);

答案 5 :(得分:1)

它对我非常有用:

var x = '/Controller/Action?id=11112&value=4444';
var remove_after= x.indexOf('?');
var result =  x.substring(0, remove_after);
alert(x);

答案 6 :(得分:0)

为我工作:

      var first = regexLabelOut.replace(/,.*/g, "");

答案 7 :(得分:0)

可能是很晚的聚会:p

您可以使用向后引用$'

$' - Inserts the portion of the string that follows the matched substring.

let str = "/Controller/Action?id=11112&value=4444"

let output = str.replace(/\?.+/g,"$'")

console.log(output)

答案 8 :(得分:-2)

可以使用JavaScript轻松完成参考链接 JS String

EDIT 它可以轻松完成。 ;)

var url="/Controller/Action?id=11112&value=4444 ";
var parameter_Start_index=url.indexOf('?');
var action_URL = url.substring(0, parameter_Start_index);
alert('action_URL : '+action_URL);