正则表达式获得元素className、找重复项最多的字符

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);

  

转载于:https://www.cnblogs.com/yangxue72/p/8337031.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值