JS判断一个字符串是否含有重复字符

 我来答
野人无事不言L
2016-03-20 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:144.8亿
展开全部
第一种实现方式,直接用“,”拆分字串为数组,用for循环依次判断每个字符是否有重复: <html> <head> <script language="javascript"> function CheckRepeat(){ var data = document.getElementById("txtData").value; var r = getRepeatData(data); alert(r); } function getRepeatData(input){ var ary = input.split(","); var rdata = {}; for(var i in ary){ var c = ary[i]; rdata[c] ? (rdata[c]++) : (rdata[c]= 1) } var strResult = ""; for(var k in rdata){ if(rdata[k] > 1) strResult += k + "出现了" + rdata[k] + "次,"; } strResult && (strResult.replace(/,$/,"")); return strResult ? strResult : "字串(\"" + input + "\")中没有重复项!" } </script> </head> <body > <input type="text" id="txtData" size="80" value="1,2,3,4,1,5,2,6,1,7,2"/> <button onclick="CheckRepeat();">检查重复</button> </body></html>第二种方式,用正则表达式实现: <html> <head> <script language="javascript"> function CheckRepeat(){ var data = document.getElementById("txtData").value; var r = getRepeatData(data); alert(r); } function getRepeatData(input){ var temp = "," + input + ","; var reg = /([^,]+)(?=.*\1,)/g; var result = []; var exsits = {}; while(reg.exec(temp)){ var c = RegExp.$1; if(!exsits[c]){ exsits[c] = true; var count = temp.split("," + c + ",").length - 1; result.push(c + "出现了" + count + "次"); } } return result.length ? result.join(",") : "字串(\"" + input + "\")中没有重复项!" ; } </script> </head> <body > <input type="text" id="txtData" size="80" value="1,2,3,4,1,5,2,6,1,7,2"/> <button onclick="CheckRepeat();">检查重复</button> </body></html>
570851835
2016-03-21 · TA获得超过7892个赞
知道大有可为答主
回答量:2343
采纳率:0%
帮助的人:2302万
展开全部
function chkRepeat(str){
var o={};
for(var i=0,len=str.length;i<len;++i){
var name=str[i];
if(o[name])return "重复了";
o[name]=1;
}
return "没有重复";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式