例子,去除字符串的重复值。
方法一:
 
function checkRe(checkid) { 
var id = window.parent.getQry("ctrid") + "_";
var values = window.parent.opener.document.getElementById(id + "txt_dept_name").value; 
var keys = window.parent.opener.document.getElementById(id + "hf_ids").value;
var ary = checkid.value.split("|"); 
var newsValues = ary[0]; 
var newsKeys = ary[1];
if (checkid.checked) { 
values = values + "," + newsValues; 
keys = keys + "," + newsKeys;
} 
else { 
values = values.replace(new RegExp("," + newsValues), ""); 
keys = values.replace(new RegExp("," + newsKeys), "");
}
values = okd(values); 
keys = okd(keys);
window.parent.opener.document.getElementById(id + "txt_dept_name").value = values; 
window.parent.opener.document.getElementById(id + "hf_ids").value = keys;
return;
} 
//转换成数组,去掉重复,再组合好。 
function okd(str) {
var ary = str.split(","); 
// 去重的算法 
var json = {}; 
for (var i = 0; i < ary.length; i++) {
if (ary[i] != "") {
json["a" + ary[i]] = ary[i]; 
} 
}
// 查看结果 
var str2 = ""; 
for (var key in json) { 
str2 += "," + json[key]; 
}
var s = str2.toString();
//去掉第一个逗号 
if (s.substr(0, 1) == ',') { 
s = s.substr(1); 
}
return s; 
}
function add_all() { 
var ck = document.getElementsByTagName("input"); 
for (i = 0; i < ck.length; i++) { 
if (ck[i].type == "checkbox") { 
ck[i].checked = true; 
checkRe(ck[i]); 
} 
} // www.jb200.com
}
function del_all() { 
var id = window.parent.getQry("ctrid") + "_"; 
window.parent.opener.document.getElementById(id + "txt_dept_name").value = "";
window.parent.opener.document.getElementById(id + "hf_ids").value = "";
var ck = document.getElementsByTagName("input"); 
for (i = 0; i < ck.length; i++) { 
if (ck[i].type == "checkbox") { 
ck[i].checked = false;
} 
} 
}
调用方法:
<input id='chk_pkId' type='checkbox' name='chk' onclick='checkRe(this);' value='值|pkId' />
方法二,js去除字符串中重复值: