Javascript - 如果URL字符串的最后一个字符是“+”,那么删除它......怎么样?

时间:2011-06-06 14:31:24

标签: javascript string

这是现有问题的延续。 Javascript - Goto URL based on Drop Down Selections (continued!)

我使用下拉选项允许我的用户构建一个URL,然后点击“Go”转到它。

有没有办法在转到之前添加一个检查URL的附加功能?

我的网址有时会包含“+”字符,如果它是网址中的最后一个字符,我需要删除该字符。 所以它基本上需要“如果最后一个字符是+,删除它”

这是我的代码:

$(window).load(function(){
    $('form').submit(function(e){
        window.location.href = 
            $('#dd0').val() +
            $('#dd1').val()+
            $('#dd2').val()+
            $('#dd3').val();
        e.preventDefault();
    });
});

6 个答案:

答案 0 :(得分:27)

var url = /* whatever */;

url = url.replace(/\+$/, '');

例如,

> 'foobar+'.replace(/\+$/, '');
  "foobar"

答案 1 :(得分:26)

function removeLastPlus (myUrl)
{
    if (myUrl.substring(myUrl.length-1) == "+")
    {
        myUrl = myUrl.substring(0, myUrl.length-1);
    }

    return myUrl;
}

$(window).load(function(){
    $('form').submit(function(e){
        var newUrl = $('#dd0').val() +
            $('#dd1').val()+
            $('#dd2').val()+
            $('#dd3').val();
        newUrl = removeLastPlus(newUrl);
        window.location.href = newUrl;
        e.preventDefault();
    });
});

答案 2 :(得分:-1)

<script type="text/javascript">
  function truncate_plus(input_string) {
    if(input_string.substr(input_string.length - 1, 1) == '+') {
      return input_string.substr(0, input_string.length - 1);
    }
    else
    {
      return input_string;
    }
  }
</script>

答案 3 :(得分:-1)

$(window).load(function(){
    $('form').submit(function(e){
        var newUrl = $('#dd0').val() +
            $('#dd1').val()+
            $('#dd2').val()+
            $('#dd3').val();
        newUrl = newUrl.replace(/\+$/, '');
        window.location.href = newUrl;
        e.preventDefault();
    });
});

看起来更容易。

答案 4 :(得分:-1)

&#13;
&#13;
function removeLastPlus(str) {
  if (str.slice(-1) == '+') {
    return str.slice(0, -1);  
  }
  return str;
}
&#13;
&#13;
&#13;

答案 5 :(得分:-1)

使用str.endsWith("str")

找到另一个解决方案

var str = "Hello this is test+";
if(str.endsWith("+")) {
  str = str.slice(0,-1);
  console.log(str)
}
else {
  console.log(str);
}