string练习题

一 ,密码强度(大写字母 小写字母 数字)

方法1,转化成ASCII码值进行判断

先写入一个输入文本框和一个点击按钮

<input type="text" name="" id="txt" value="" /><!-- 收集输入字符串 -->
<button type="button" id="btn">检测</button>    <!--点击显示-->

 javaScript修饰

思路  获取文本框内字符串,遍历字符串,把每一个转化成ASCII码值

btn.onclick = function(){    //点击btn    
	var str = txt.value;	//去txt内字符串
	var a;
	var b;
	var c;		//三个未赋值的变量
	var arr = [];//空数组,为了存元素
	for(var i = 0;i<str.length;i++){  //遍历出字符串
		var num = str.charCodeAt(i);  //把每一个字符串里面每一用ASCII转换成数字
		
		if(num<=57&&num>=48){  //如果数字大于等于48小于等于57
			a=1;                   //给a赋值1
			arr.push(a);			//给空数组arr添加一个a
		}
		if(num<=90&&num>=65){  //如果数字在65-90之间(A-Z)
			b =2;          //给b赋值2
			arr.push(b);	//给arr添加一个b
		}
		 if(num<=122&&num>=97){ //如果数字在97-122之间(a-z)
			c = 3;				//给c赋值3
			arr.push(c);		//给arr添加一个c
		}
	}
	console.log(arr);
	for(var j = 0;j<arr.length;j++){//遍历数组arr
		arr.sort();				//把相同数字排在一起
		if(arr[j]===arr[j+1]){	//前后两个值分别比较
			arr.splice(j+1,1);  //如果相等就截取掉后面一个
			j--;			//后面截掉一位 就要减一
		}
	}
	if(arr.length==3){           //字符串长度为3
		alert("强");			//则是三个都有
	}
	if(arr.length==2){        //....
		alert("中");
	}
	if(arr.length==1){				//...
		alert("弱")
	}
}

数字混合验证码四位

// 数字字母混合验证码
btn.onclick =  function(){
    var str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    for(var i = 1,str1="";i<=4;i++){
        	var yzm = str[parseInt(Math.random()*str.length)];
        	str1 +=yzm;          //循环四次进行拼接
        }
    txt.innerText = str1;     //在txt内打印字符串yzm
    }
    
    
    var code = "";        //空字符串
    while(code.length<4){ //如果code内容没有达到四次,一直循环下去
    var num = Math.floor(Math.random()*(90-48+1)+48);//ASCII码值
    if(num>=48&&num<=57 ||num>=65&&num<=90){//ASCII码值取出数字和
                                            //字母部分
    	code+=String.fromCharCode(num);//添加到code里面
    }
}
console.log(code);

 

已知字符串“a,a,b,c,c,d”,统计每个字符出现的次数,结果显示 a 2、b 1、c 2、d1,去掉重复的字符,使结果显示 abcd

// 已知字符串“a,a,b,c,c,d”,统计每个字符出现的次数,结果显示 a 2、b 1、c 2、d1,去掉重复的字符,使结果显示 abcd
var str = "a,a,b,c,c,d";
var arr = str.split(",");
var obj = {};
var newArr = [];
for(var i = 0;i<arr.length;i++){
	if(obj[arr[i]]===undefined){
		obj[arr[i]]=1;
		newArr.push(arr[i]);
	}else{
		obj[arr[i]]++;
	}
}
console.log(obj);
console.log(newArr);
var str1 = "";
for(var a in obj){
	str1+=a;
	console.log(a+obj[a]);
}
console.log(str1);

 

随机颜(是十六进制)

h5

<div id="txt">
			
		</div>

js

function getrandcolor(){
    var color = "#";
    var str = "ABCDEF0123456789";
    for(var i =1;i<=6;i++){
    	var randchar = str[Math.floor(Math.random()*str.length)];
    	color +=randchar;
    }
    return color;
 }
    
txt.style.background = getrandcolor();

脏话过滤

html

<input type="text" id="txt">
<input type="button" id="btn" value="发送">
		<div id="box">
			
		</div>

js

btn.onclick = function(){
    var val = txt.value;
    for(var i = 0; i < val.length; i++){
    	if(val.indexOf("tmd")!=-1){
    		val = val.replace("tmd","***");
    	}
    }
    
    //box.innerText += "<p>"+val+"</p>";
    box.innerHTML += "<p>"+val+"</p>";
}

 

数码时钟

html


<img src="0.png" id="img1">
<img src="0.png" id="img2">
<span>时</span>
<img src="0.png" id="img3">
<img src="0.png" id="img4">
<span>分</span>
<img src="0.png" id="img5">
<img src="0.png" id="img6">
<span>秒</span>

js

function shizhong(){
	var oDate = new Date();
	var xiaoshi = oDate.getHours();
	var fenzhong = oDate.getMinutes();
	var miao = oDate.getSeconds();
	
	xiaoshi = xiaoshi<10?"0"+xiaoshi:xiaoshi;
	fenzhong = fenzhong<10?"0"+fenzhong:fenzhong;
	miao = miao<10?"0"+miao:miao;
	var str = xiaoshi+""+fenzhong+""+miao;
	console.log(str);
	img1.src = str[0]+".png";
	img2.src = str[1]+".png";
	img3.src = str[2]+".png";
	img4.src = str[3]+".png";
	img5.src = str[4]+".png";
	img6.src = str[5]+".png";
}
shizhong();
setInterval(shizhong,1000);

秒杀

html

<div id="box">
	
</div>

js

var times = setInterval(function(){
	var endDate = new Date("2019-08-22 13:55:30");
	var oDate = new Date();
	var ms = endDate-oDate;
	var ss = ms/1000;
	var days = Math.floor(ss/60/60/24);
	var hours = Math.floor(ss/60/60%24);
	hours = hours<10?"0"+hours:hours;
	var minutes = Math.floor(ss/60%60);
	minutes = minutes<10?"0"+minutes:minutes;
	var seconds = Math.floor(ss%60);
	seconds = seconds<10?"0"+seconds:seconds;
	var str = days+"天"+hours+"时"+minutes+"分"+seconds+"秒";
	box.innerText = str;
	if(Math.floor(ss) <=0){
	 clearInterval(times);
	 box.innerText = "饿死了,吃饭辽,老师再见辽!!";
	 }
},1000);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值