正則表達式獲得元素className、找重復項最多的字符
阿新 • • 發佈:2018-01-23
元素 i++ replace pos ace cti split test gpo
1.獲得元素className
HTML
<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
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:重復的第二個子項 // 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);
正則表達式獲得元素className、找重復項最多的字符