我无法弄清楚这样做的最佳方法,但我有一系列值被输入到我的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(',');
答案 0 :(得分:1)
正则表达式/ +/
将匹配多个空格,因此输入a b
将变为a,b
。
正则表达式/^ *| *$/
将匹配字符串开头和结尾的空格。
这里的代码将替换那些带逗号的代码,并删除起始和结束空格。
var mediaType = "&mediaType=" + opts.mediaType.replace(/^ *| *$/g,'').replace(/ +/g,',');
var headerType = "&headerType=" + opts.headerType.replace(/^ *| *$/g,'').replace(/ +/g,',');