如果未指定或为空,则设置默认 URL 参数

Posted

技术标签:

【中文标题】如果未指定或为空,则设置默认 URL 参数【英文标题】:Set a default URL parameter if none is specified or is blank 【发布时间】:2017-09-11 05:37:54 【问题描述】:

我有这个代码:

    function getURLParameter(name) 
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || ''
    );

在我的 html 中,我使用以下方法标注了用户的设备品牌和型号:

<script>document.write(getURLParameter("brand") + (" ") + getURLParameter("name"))</script>

唯一的问题是这仅适用于某些移动设备。当它不起作用时,它只是留空。如果默认值是空的,有没有办法添加默认值?

【问题讨论】:

【参考方案1】:

您可以简单地将值与

if(name === " " || name == null) 
    //code

if(name !== " " || name != null) 
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || ''
    );

【讨论】:

不太清楚它是如何实现的(我是新手)function getURLParameter(name) if(name === " " || name == null) return decodeURI( (RegExp(name + '=' + '(.+?)(&amp;|$)').exec(location.search)||[,null])[1] || '' ); 没有价值时,一切都是空白。 在Js中,当一个变量没有值时默认为null,所以当你获取一个值作为参数时,它可以为null。只需在解码变量值之前检查函数内部。 我仍然不知道该怎么做 :( 澄清一下,我想为返回值设置一个默认值,而不是实际的参数名称。例如 &brand=Samsung。如果 URL 中不存在“三星”,我希望将其替换为“移动设备” 在发送变量之前放置第一个条件,如果它为真,则将值更改为“移动设备”, 感谢到目前为止的帮助,但正如我所说,我仍然只是一个初学者。有没有什么地方我可以读到如何做这个特定的任务?我什至不知道从哪里开始。

以上是关于如果未指定或为空,则设置默认 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章

sh -z标志确定变量是否未设置。下面,$ {var + x}是一个参数扩展,如果未设置var,则计算结果为空,

read(),readline(),readlines()区别与用法

initrd in linux 2.6.32.27

当数据未定义或为空时如何使用 Lodash

MySQL-数据库操作

在 Ransack 上为 Rails 设置默认搜索参数