Javascript 如何仅在存在分隔符时拆分?

Javascript 如何仅在存在分隔符时拆分?,javascript,Javascript,我只想在URL具有查询参数时拆分它。当我这样做的时候 var url = window.location.href; var somevalue = url.split("?"); somevalue具有URL值,即使?没有。是否只有在存在分隔符时才有拆分的方法?意思是,作为一个单行或单行函数,而不是indexof或类似的函数?这里有一个应该可以工作的函数: function getSplit() { var somevalue; var url = window.location

我只想在URL具有查询参数时拆分它。当我这样做的时候

var url = window.location.href;
var somevalue = url.split("?");

somevalue具有URL值,即使?没有。是否只有在存在分隔符时才有拆分的方法?意思是,作为一个单行或单行函数,而不是indexof或类似的函数?

这里有一个应该可以工作的函数:

function getSplit()
{
   var somevalue;
   var url = window.location.href;
   if(url.indexOf("?") != -1)
   {
       //your code here
       somevalue = url.split("?");
   }
   else
   {
        somevalue = "";
   }
   return somevalue;
}
调用单行函数:

var url = getSplit();
试试regexp

/\?(.*)/.exec(url);

当否时返回null?或者索引为1的数组元素在?

不,没有,除非您写入它。这样的功能是如何工作的?如果存在分隔符,则返回数组,否则返回原始字符串?您想要的结果是什么?一些if如何?如果分隔符不出现,somevalue中到底应该存储什么?我想您可能会发现它很有用。@FelixKling:空字符串就好了。我猜下一张支票是IndexOf?然后在值>0的情况下,再进行一次?这是一个多么复杂的方法,应该是一个简单的检查。你读过这个问题了吗?意思是,作为一个单行或单行函数,而不是indexof或类似的东西?。