正则表达式获得元素className、找重复项最多的字符
1.获得元素className
HTML
1 2 3 4 5 6 7 | < ul > < li class="box1">11111</ li > < li >2222222</ li > < li class="box1box2">33333333</ li > < li >4444444</ li > < li class="box1 box2">5555555</ li > </ ul > |
JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var aLi=getByClass(document, 'box1' ); for ( var i=0;i<aLi.length;i++) { aLi[i].style.background= 'red' ; } function getByClass(oParent,aClass){ var arr=[]; var aEle=oParent.getElementsByTagName( '*' ); //当正则需要传参的时候,一定要用全称的写法 var re= new RegExp( '\\b' +aClass+ '\\b' ); for ( var i=0;i<aEle.length;i++) { if (re.test(aEle[i].className)){ arr.push(aEle[i]); } } return arr;; } |
2.找重复项最多的字符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | //\1:重复的第一个子项 //\2:重复的第二个子项 // var str='abca'; //// var re=/(a)(b)(c)\1/;//true // var re=/(a)(b)(c)\2/;//false // alert(re.test(str)); // var re=/\w\w/; //c1,ba // var re=/(\w)\1/; //cc,99,aa //找重复项最多的字符串 var str= 'adsssssssssskfjkfjdgssssssshdksjksssssfusierk' ; var arr=str.split( '' ); str=arr.sort().join( '' ); // alert(str); var value= '' ; var index=0; var re=/(\w)\1+/g; str.replace(re, function ($0,$1){ // alert($0); if (index<$0.length){ index=$0.length; value=$1; } }); alert( '最多的字符:' +value+ ',重复次数:' +index); |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步