我不太清楚做到这一点的最佳方法,但我有一系列值被输入到我的 jquery 插件中。我遵循在每个值后添加空格的惯例。然后,我获取 jquery 参数并尝试为每个参数添加一个 ‘,’,以便可以将其输入到 json 调用中。问题是,如果我添加 ‘,’ 代替空格,并且从插件中的变量返回的值为空,我会得到多个我不需要的逗号。 (即,,播客)。如果变量中有值,如何仅添加逗号?
$(document).ready(function () {
$('#gallery').mediaFilters({
mediaType: '${article} ${podcast} ${image}',
headerType: '${internet} ${cloud} ${background}',
});
});
JQUERY 发送到 JSON:
var mediaType = "&mediaType=" + opts.mediaType.split(/[ ]/).join(',');
var headerType = "&headerType=" + opts.headerType.split(/[ ]/).join(',');
最佳答案
正则表达式 /+/
将匹配多个空格,因此输入 a b
将变成 a,b
。
正则表达式 /^ *| *$/
将匹配字符串开头和结尾的空格。
总而言之,这里的代码将用逗号替换这些内容,并删除开头和结尾的空格。
var mediaType = "&mediaType=" + opts.mediaType.replace(/^ *| *$/g,'').replace(/ +/g,',');
var headerType = "&headerType=" + opts.headerType.replace(/^ *| *$/g,'').replace(/ +/g,',');
关于javascript - jQuery - 仅当 a 有值时才添加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23793484/