Javascript - If Last Character of a URL string is “+” then remove it…How?
这是现有问题的延续。javascript-基于下拉选择转到URL(续!)
我使用下拉选择允许我的用户建立一个网址,然后点击"去"转到它。
有没有什么方法可以添加一个额外的函数,在访问URL之前检查它?
我的URL有时包含"+"字符,如果它是URL中的最后一个字符,我需要删除它。所以它基本上需要是"如果最后一个字符是+,请删除它"
这是我的代码:
1 2 3 4 5 6 7 8 9 10 | $(window).load(function(){ $('form').submit(function(e){ window.location.href = $('#dd0').val() + $('#dd1').val()+ $('#dd2').val()+ $('#dd3').val(); e.preventDefault(); }); }); |
1 2 3 | var url = /* whatever */; url = url.replace(/\+$/, ''); |
例如,
1 2 | > 'foobar+'.replace(/\+$/, ''); "foobar" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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(); }); }); |
使用
1 2 3 4 5 6 7 8 | var str ="Hello this is test+"; if(str.endsWith("+")) { str = str.slice(0,-1); console.log(str) } else { console.log(str); } |
1 2 3 4 5 6 | function removeLastPlus(str) { if (str.slice(-1) == '+') { return str.slice(0, -1); } return str; } |
1 2 3 4 5 6 7 8 9 10 11 | $(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(); }); }); |
只是看起来容易些。
1 2 3 4 5 6 7 8 9 10 | <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; } } |